Heim >Web-Frontend >CSS-Tutorial >Warum erstellen nicht „sichtbare' Überlaufwerte neue Blockformatierungskontexte in CSS2.1?

Warum erstellen nicht „sichtbare' Überlaufwerte neue Blockformatierungskontexte in CSS2.1?

Barbara Streisand
Barbara StreisandOriginal
2024-12-15 12:20:09745Durchsuche

Why Do Non-

Warum CSS2.1 andere Überlaufwerte als „sichtbar“ definiert, um einen neuen Blockformatierungskontext einzurichten

Die CSS2.1-Spezifikation schreibt dies vor Andere Überlaufwerte als „sichtbar“ erstellen einen neuen Blockformatierungskontext (BFC). Diese Entscheidung mag kontraintuitiv erscheinen, da ein Überlauf normalerweise zum Ausblenden von Inhalten verwendet wird, ohne das Layout zu beeinträchtigen. Es gibt jedoch zwingende Gründe für diese Wahl.

Scrollbarer Inhalt und Leistung

Eine Hauptmotivation für die Definition nicht sichtbarer Überlaufwerte als BFCs besteht darin, die Leistung beim Scrollen zu verbessern . Wenn sich ein schwebendes Element mit scrollbaren Inhalten außerhalb seines übergeordneten Containers überschneidet, müssen Browser den Inhalt bei jedem Scrollen neu um das schwebende Element herum wickeln. Dieses ständige Umbrechen würde sich erheblich auf die Scrollgeschwindigkeit auswirken, wenn Browser die ursprüngliche CSS2-Spezifikation implementieren müssten.

Konsistenz mit anderen Überlaufwerten

Ein weiterer Faktor bei dieser Entscheidung ist die Konsistenz. Auch wenn overflow: „hidden“ den Anschein erweckt, als würde er den Inhalt lediglich in seinem Container ausschneiden, kann er dennoch programmgesteuert gescrollt werden. Daher führt die Angabe eines nicht sichtbaren Überlaufwerts konsistent zu einem neuen BFC, unabhängig davon, ob der Inhalt tatsächlich scrollbar ist.

Vereinheitlichung des Verhaltens mit ersetzten Elementen

CSS2. 1 führte außerdem Änderungen im Verhalten von height: „auto“ für Blockformatierungskontextwurzeln (BFCRs) ein. BFCRs mit height: „auto“ dehnen sich jetzt vertikal aus, um Floats aufzunehmen. Dies steht im Einklang mit dem Verhalten ersetzter Elemente (z. B. Bilder), die von Natur aus BFCs erstellen und sich an ihren Inhalt anpassen.

Vorteile von nicht sichtbarem Überlauf

Von Durch die Definition nicht sichtbarer Überlaufwerte als BFCs gewährleistet CSS2.1:

  • Verbesserte Leistung für Scrollen von Inhalten, die Floats überschneiden
  • Konsistente Einrichtung von BFCs, unabhängig von der Scrollbarkeit
  • Vereinheitlichung des Verhaltens mit ersetzten Elementen
  • Vermeidung von Überschneidungen zwischen Floats und BFCRs

Das obige ist der detaillierte Inhalt vonWarum erstellen nicht „sichtbare' Überlaufwerte neue Blockformatierungskontexte in CSS2.1?. 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