Heim >Web-Frontend >CSS-Tutorial >Warum beziehen sich CSS-Rand- und Füllprozentsätze auf die Breite und nicht auf die Höhe?

Warum beziehen sich CSS-Rand- und Füllprozentsätze auf die Breite und nicht auf die Höhe?

Patricia Arquette
Patricia ArquetteOriginal
2024-12-25 19:09:08150Durchsuche

Why are CSS margin and padding percentages relative to the width, not the height?

Warum Rand-/Padding-Prozentsätze in CSS an die Breite gebunden sind

Das CSS-Box-Modell definiert, dass Rand- und Padding-Prozentsätze anhand der Breite berechnet werden des enthaltenden Blocks. Dieses eigenartige Verhalten hat Fragen zu seiner Begründung aufgeworfen.

Hervorgehobener Auszug aus der CSS-Box-Modellspezifikation

"Der [Margin]-Prozentsatz wird in Bezug auf die Breite von berechnet Beachten Sie, dass dies für „margin-top“ und „margin-bottom“ gilt gut.“

Vermutung zur Begründung

Auswirkungen auf die Körpergröße der Eltern als begrenzender Faktor

Eine unbegründete Vermutung legt dies nahe Die Entscheidung könnte auf Bedenken hinsichtlich der Höhenberechnung zurückzuführen sein. Elementhöhen werden normalerweise durch die Größe ihrer untergeordneten Elemente definiert. Wenn padding-top als Prozentsatz relativ zur Höhe des übergeordneten Elements angewendet wird, wirkt sich dies auf die Höhe des übergeordneten Elements aus. Da jedoch die Größe des Kindes von der Größe des Elternteils abhängt und umgekehrt, entsteht eine Abhängigkeitsschleife oder eine ungenaue Größenberechnung.

Überlegungen zu verschachtelten Szenarios

Dies Bedenken sind besonders relevant in Fällen, in denen die Größe des Elternteils von der Größe des Kindes abhängt und die Größe des Kindes von der Größe des Elternteils abhängt (z. B. Offset-Elternteil === Elternteil). Das Lösen solcher Fälle wird aufgrund der Abhängigkeitsschleife oder der unendlichen Berechnung zu einer Herausforderung.

Beispiel

Bedenken Sie den folgenden Codeausschnitt:

<div>

Hier Beispielsweise wird der obere Rand des inneren Divs als 10 % der Breite des übergeordneten Divs (200 Pixel) berechnet, was zu a führt 20px Rand.

Das obige ist der detaillierte Inhalt vonWarum beziehen sich CSS-Rand- und Füllprozentsätze auf die Breite und nicht auf die Höhe?. 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