Heim >Web-Frontend >CSS-Tutorial >Warum funktioniert die prozentuale Höhe in CSS nicht wie erwartet?
Warum funktioniert die prozentuale Höhe in CSS nicht?
Das Verständnis des inhärenten Verhaltens von Blockelementen in CSS ist entscheidend, wenn Sie mit Prozentsätzen arbeiten. basierte Dimensionen. Während prozentuale Breiten wie erwartet funktionieren, zeigen prozentuale Höhen ein paradoxes Verhalten, das Entwickler verwirren kann.
Standardhöhenbestimmung
Standardmäßig beträgt die Höhe eines Blockelements durch seinen Inhalt bestimmt. Mit anderen Worten: Das Element wird vertikal erweitert, um die für seinen Inhalt erforderliche Höhe aufzunehmen. Dies unterscheidet sich von der Eigenschaft width, die das Element von Natur aus horizontal erweitert, um den verfügbaren Platz innerhalb seines übergeordneten Elements auszufüllen.
Das Prozentparadoxon
Wenn ein Prozentsatz zum Definieren verwendet wird Die Höhe eines Elements gibt einen Prozentsatz der Höhe des übergeordneten Elements an. Da die Höhe des übergeordneten Elements jedoch häufig von der Höhe seiner untergeordneten Elemente abhängt, entsteht eine Rückkopplungsschleife. Wenn Sie die Höhe des untergeordneten Elements auf einen Prozentsatz festlegen, erhalten Sie keinen konkreten Wert, mit dem Sie arbeiten können, da dieser von der Größe des übergeordneten Elements abhängt, die wiederum von der Größe des untergeordneten Elements abhängt. Dieser Zyklus verhindert die Etablierung einer wohldefinierten Dimension.
Inhaltsgesteuerte Höhen
Im Gegensatz zu Breiten, die unabhängig vom Inhalt sind, werden Höhen direkt durch beeinflusst der Inhalt, den ein Element enthält. Aufgrund dieser Abhängigkeit ist es wichtig, einen bestimmten Höhenwert für das übergeordnete Element bereitzustellen, wodurch die Rückkopplungsschleife unterbrochen und ein konkreter Referenzpunkt für die prozentuale Höhe des untergeordneten Elements bereitgestellt wird.
Beispiel zur Veranschaulichung
Bedenken Sie den folgenden Code:
<div>
#inner { height: 50%; }
In diesem Beispiel hängt die Höhe von #inner von der Höhe ab von #außen. Die Höhe von #outer hängt jedoch auch von der Höhe von #inner ab. Ohne Angabe einer Höhe für #outer verhindert die Rückkopplungsschleife, dass #inner eine genau definierte Höhe hat.
Das obige ist der detaillierte Inhalt vonWarum funktioniert die prozentuale Höhe in CSS nicht wie erwartet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!