DIV nicht anpassen Breite Inhalt in ein anderes DIV mit overflow: auto
Habe ich folgenden HTML-code:
<div class="main">
<div class="container">
<div class="contents">
Some funny stuff in here
</div>
</div>
</div>
Mit den folgenden CSS:
.main {
overflow: auto;
width: 200px;
}
.container {
border: 1px solid black;
}
.contents {
width: 300px;
}
Dies ist, was diese Seite hat (siehe es an http://jsfiddle.net/C7RDh/7/):
main
div ist 200px Breite mit overflow: auto (d.h. Schriftrollen Inhalt, wenn breiter als 200px).- So, als
contents
div-Element 300px breit, es scrollt horizontal. - So, würde ich erwarten, dass
container
div werden 300px (wie Elemente drin sind 300px breit), aber es ist nicht! Es ist 200px breit.
Wie kommt das? Ich möchte es so breit ist wie sein Inhalt (300px), wie kann ich das erreichen?
InformationsquelleAutor German Latorre | 2013-01-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie nur machen Sie container float
Float-passt sich automatisch Ihrem äußeren div-inner-div-Breite.
container
div nicht anpassen, selbst ohne diefloat: left
Stil?innere div, nimmt die Breite des äußeren div-ohne float, was bedeutet, dass Ihre äußere div (in diesem Fall .main 200px, damit Sie Ihre innere div .container findet automatisch alle 200px), unabhängig davon, was Ihre .Inhalte von div-Breite
Ich schlage vor, Sie verwenden diese Antwort, anstatt die andere Antwort.
Es scheint, dass entweder
float: left;
oderdisplay: inline-block;
perfekt funktionieren. stackoverflow.com/questions/6213237/... erklärt einige ähnliche problem ganz gut. DIV scheint zu erweitern standardmäßig 100%, und in meinem Fallcontainer
's 100%main
's Breite: 200pxInformationsquelleAutor zdesam
Müssen Sie leicht anpassen Ihre CSS-Dateien. Dies funktioniert:
Ich Stimme mit @John, warum funktioniert dies und das "zu erwartende" (aus meiner Sicht) Stil nicht funktioniert?
Ziemlich gut erklärt: coding.smashingmagazine.com/2007/05/01/... Genießen.
Ich kann nichts über
overflow: auto;
undfloat: left;
zusammen...Warum denken Sie, sollten Sie sehen, dass? Weil float und overflow haben nichts gemeinsam. Überlauf wird einfach, dass Ihr container passen in einen Inhalt, der normalerweise passten nicht durch die Einführung von vertikalen und/oder horizontalen scrollbars.
InformationsquelleAutor semir.babajic
Eigentlich sollten Sie die
overflow: auto
im container css, die nicht Haupt-css -InformationsquelleAutor Bruce.zhang