In CSS kann sich die Höheneigenschaft eines Rasterelements manchmal unerwartet verhalten. Dies kann dadurch verursacht werden, dass die prozentuale Höhe relativ zu einem unerwarteten übergeordneten Element berechnet wird.
Fallstudie
Betrachten Sie ein CSS-Rasterelement mit den folgenden Abmessungen:
Erwartungsgemäß sollte das Rasterelement doppelt so hoch sein wie der Container, wobei jeglicher Überschuss durch eine Bildlaufleiste ausgeblendet wird. Das tatsächliche Ergebnis zeigt jedoch, dass das Rasterelement überläuft und keine Bildlaufleiste vorhanden ist.
Verstehen der Ursache
Bei näherer Betrachtung wird klar, dass die prozentuale Höhe basierend berechnet wird auf dem untergeordneten Element des Rasterelements, nicht auf dem übergeordneten Container des Rasterelements. Dies liegt daran, dass Rasterelemente zwei Ebenen unterhalb des Containers vorhanden sind, wobei die Zwischenebene die Gleise sind.
Lösung
Um dieses Problem zu beheben, muss die Höhe beider Container und die Zeile innerhalb des Containers sollte auf einen festen Wert gesetzt werden. In diesem Fall werden sowohl der Container als auch die Zeile auf 100 Pixel eingestellt:
.gridContainer { height: 100px; } .gridContainer { grid-template-rows: 100px; }
Durch die Definition der Höhe sowohl des Containers als auch der Zeile kann die prozentuale Höhe des Rasterelements relativ zum beabsichtigten übergeordneten Element korrekt berechnet werden . Dadurch kann das Rasterelement eine Höhe von 200 % der Zeilenhöhe haben, wodurch sichergestellt wird, dass es in den Container passt und etwaige Überläufe durch die Bildlaufleiste verdeckt werden.
Das obige ist der detaillierte Inhalt vonWarum funktioniert der Prozentsatz der Höhe meines CSS-Rasterelements nicht wie erwartet?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!