Ich habe eine ähnliche Seitenstruktur:
<body>
<div id="parent">
<div id="childRightCol">
/*Content*/
</div>
<div id="childLeftCol">
/*Content*/
</div>
</div>
</body>
Ich möchte mich für die Eltern div
in zu erweitern , height
wenn die innere div
‚s height
erhöht.
Bearbeiten:
Ein Problem besteht darin, dass mein aktuelles CSS eine horizontale Bildlaufleiste auf dem übergeordneten Element platziert , wenn der width
untergeordnete Inhalt width
über das Browserfenster hinaus erweitert wird div
. Ich möchte, dass sich die Bildlaufleiste auf Seitenebene befindet. Derzeit ist mein Eltern-Div auf eingestelltoverflow: auto;
Können Sie mir bitte beim CSS helfen?
Antworten:
Versuchen Sie dies für die Eltern, es hat bei mir funktioniert.
AKTUALISIEREN:
Eine weitere Lösung, die funktioniert hat:
Elternteil :
Kind :
quelle
overflow:auto
bedeutet, dass der Browser entscheiden sollte, welcher Wert angewendet werden soll. Was wirklich funktioniert der Trick istoverflow: overlay
.overflow:hidden
.overlay
, dass sie außerhalb von Webkit nicht unterstützt wird. Eine andere völlig andere ist zu sagen, dass es überhaupt nicht existiert. Bitte zuerst RTFM . ;)display:inline-block
. Was für mich großartig funktioniert hat.füge a hinzu
clear:both
. Angenommen, Ihre Spalten schweben. Abhängig davon, wie Ihre Größe angegeben ist, benötigen Sie möglicherweise einen Überlauf: auto;quelle
Wie Jens im Kommentar sagte
Dies funktioniert bei mir in allen Browsern weitaus besser.
quelle
Versuchen Sie,
max-content
für die Größe der Eltern zu geben .https://jsfiddle.net/FreeS/so4L83wu/5/
quelle
Für diejenigen, die dies in Anweisungen aus dieser Antwort dort nicht herausfinden können :
Versuchen Sie , Satz Polsterung Wert mehr dann 0 , wenn das Kind divs haben margin-top oder margin-bottom Sie es mit Polsterung ersetzen
Zum Beispiel, wenn Sie haben
Es ist besser, es durch Folgendes zu ersetzen:
quelle
Mit so etwas wie selbstlöschend
div
ist perfekt für eine Situation wie diese . Dann verwenden Sie einfach eine Klasse für die Eltern ... wie:quelle
Hinzufügen
Fügen Sie dem CSS des übergeordneten Div ein Div am unteren Rand des übergeordneten Div hinzu, das Folgendes löscht: beide;
Das ist die richtige Antwort, denn Überlauf: auto; funktioniert möglicherweise für einfache Weblayouts, wird jedoch mit Elementen durcheinander gebracht, die anfangen, Dinge wie negative Ränder usw. zu verwenden
quelle
Macht das was du willst?
quelle
Suchen Sie ein 2-Spalten-CSS-Layout ?
Wenn ja, schauen Sie sich die Anweisungen an , es ist ziemlich einfach zu starten.
quelle
Ich habe ein übergeordnetes Div um den Inhalt eines untergeordneten Div erweitert, indem das untergeordnete Div als einzelne Spalte ohne Positionierungsattribut wie "Absolut" angegeben wurde.
Beispiel:
Basierend darauf, dass maincolumn div das tiefste untergeordnete div von #wrap ist, definiert dies die Tiefe des #wrap div und die 200px-Polsterung auf beiden Seiten erzeugt zwei große leere Spalten, in die Sie absolut positionierte divs nach Belieben einfügen können. Sie können sogar die Polsterung oben und unten ändern, um Kopf- und Fußzeilendivs mit position: absolute zu platzieren.
quelle
Sie müssen die Clearfix-Lösung auf den übergeordneten Container anwenden. Hier ist ein schöner Artikel, der den Fix- Link erklärt
quelle
Wenn Ihr Inhalt in #childRightCol und #childRightCol nach links oder rechts verschoben wird, fügen Sie ihn einfach in css ein:
quelle
Dies funktioniert wie in der Spezifikation beschrieben - mehrere Antworten hier sind gültig und stimmen mit den folgenden überein:
von hier: https://www.w3.org/TR/css3-box/#blockwidth
quelle
Der folgende Code hat bei mir funktioniert.
CSS
html
quelle
quelle
Wo wir anfangen
Hier sind einige HTML- und CSS-Elemente. In unserem Beispiel haben wir ein übergeordnetes Element mit zwei schwebenden untergeordneten Elementen.
Lösung 1: Überlauf: Auto
Eine Lösung, die in allen modernen Browsern und in Internet Explorer zurück zu IE8 funktioniert, ist das Hinzufügen
overflow: auto
zum übergeordneten Element. Dies funktioniert auch in IE7 mit hinzugefügten Bildlaufleisten.Lösung 2: Übergeordneter Container schweben
Eine andere Lösung, die in allen modernen Browsern und zurück zu IE7 funktioniert, besteht darin, den übergeordneten Container zu schweben.
Dies ist möglicherweise nicht immer praktisch, da das Schweben Ihres übergeordneten Div andere Teile Ihres Seitenlayouts beeinflussen kann.
Methode 3: Hinzufügen von Clearing Div unter schwebenden Elementen
Methode 4: Hinzufügen von Clearing Div zum übergeordneten Element Diese Lösung ist für ältere Browser und neuere Browser gleichermaßen kugelsicher.
von https://www.lockedownseo.com/parent-div-100-height-child-floated-elements/
quelle
Ich benutze dieses CSS für Eltern und es funktioniert:
quelle
Sie werden mithilfe der
overflow:hidden;
Eigenschaft in CSS verwaltetquelle