Heim >Web-Frontend >CSS-Tutorial >Warum erweitert „overflow:hidden' die Höhe eines übergeordneten Elements mit schwebenden untergeordneten Elementen?

Warum erweitert „overflow:hidden' die Höhe eines übergeordneten Elements mit schwebenden untergeordneten Elementen?

Susan Sarandon
Susan SarandonOriginal
2024-12-03 14:03:14940Durchsuche

Why Does `overflow: hidden` Expand the Height of a Parent Element with Floated Children?

Überlauf: Ausgeblendet und Elementhöhenerweiterung mit schwebenden untergeordneten Elementen

In einer überraschenden Wendung kann die Einstellung „Überlauf: Ausgeblendet“ auf einem äußeren Element dazu führen um in der Höhe zu wachsen, um schwebende untergeordnete Elemente aufzunehmen. Um zu verstehen, warum das so ist, schauen wir uns das Konzept der Blockformatierungskontexte genauer an.

Wenn ein Blockelement gefunden wird, dessen Überlauf auf einen nicht sichtbaren Wert (z. B. ausgeblendet) gesetzt ist, wird ein neuer Blockformatierungskontext erstellt. Entscheidend ist, dass von Blockformatierungskontextwurzeln (wie diese Elemente genannt werden) erwartet wird, dass sie sich vertikal ausdehnen, um ihre schwebenden Nachkommen aufzunehmen, wenn für sie keine explizite Höhe festgelegt ist.

Dieses Verhalten ist auf eine in CSS2 eingeführte Überarbeitung zurückzuführen. 1, um ein anderes Problem anzusprechen. Durch die Änderung wurde das Konzept des Freiraums, bei dem die Unterkante eines Floats von seinem umschließenden Block (übergeordneten Block) enthalten ist, effektiv erweitert, um es auf Blockformatierungskontextwurzeln ohne angegebene Höhe anzuwenden.

Im bereitgestellten Beispiel das äußere Element ist auf overflow:hidden gesetzt, was die Erstellung eines neuen Blockformatierungskontexts auslöst. Da das äußere Element keine festgelegte Höhe hat, ist es standardmäßig auf „Automatisch“ eingestellt und dehnt sich nach unten, um die schwebenden inneren Elemente einzuschließen.

Es ist wichtig, dieses Phänomen vom Schwimmspiel zu unterscheiden. Ein Freiraum tritt auf, wenn ein Element mit den vorangehenden Kräften klar: beides oder einem ähnlichen Effekt an der Oberseite des Behälters schwimmt. Im Gegensatz dazu erfolgt das Überlaufen eines Blockformatierungskontextstamms, der Gleitkommazahlen enthält, nur innerhalb dieses Kontexts und hat keine Auswirkungen auf Elemente außerhalb dieses Kontexts.

Das obige ist der detaillierte Inhalt vonWarum erweitert „overflow:hidden' die Höhe eines übergeordneten Elements mit schwebenden untergeordneten Elementen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn