Es gibt einige CSS 3-Maßeinheiten mit den Namen:
Was sind die prozentualen Längen des Ansichtsfensters?
Aus der oben verlinkten W3-Kandidatenempfehlung:
Die prozentualen Längen des Ansichtsfensters beziehen sich auf die Größe des anfänglichen enthaltenden Blocks. Wenn die Höhe oder Breite des anfänglich enthaltenen Blocks geändert wird, werden sie entsprechend skaliert.
Diese Einheiten sind vh
(Ansichtsfensterhöhe), vw
(Ansichtsfensterbreite), vmin
(minimale Länge des Ansichtsfensters) und vmax
(maximale Länge des Ansichtsfensters).
Wie kann ein Teiler die Höhe des Browsers ausfüllen?
Für diese Frage können wir Folgendes verwenden vh
: 1vh
entspricht 1% der Höhe des Ansichtsfensters. Das heißt, 100vh
entspricht der Höhe des Browserfensters, unabhängig davon, wo sich das Element im DOM-Baum befindet:
HTML
<div></div>
CSS
div {
height: 100vh;
}
Dies ist buchstäblich alles, was benötigt wird. Hier ist ein JSFiddle-Beispiel dafür.
Welche Browser unterstützen diese neuen Geräte?
Dies wird derzeit von allen aktuellen Hauptbrowsern außer Opera Mini unterstützt. Check out Kann ich ... für weitere Unterstützung verwenden.
Wie kann dies mit mehreren Spalten verwendet werden?
Im Fall der vorliegenden Frage mit einem linken und einem rechten Teiler sehen Sie hier ein JSFiddle-Beispiel, das ein zweispaltiges Layout zeigt, das sowohl vh
als als auch umfasst vw
.
Wie ist 100vh
anders als 100%
?
Nehmen Sie dieses Layout zum Beispiel:
<body style="height:100%">
<div style="height:200px">
<p style="height:100%; display:block;">Hello, world!</p>
</div>
</body>
Das p
Tag ist hier auf 100% Höhe eingestellt, aber da sein Inhalt div
200 Pixel Höhe hat, werden 100% von 200 Pixel zu 200 Pixel, nicht zu 100% der body
Höhe. Die Verwendung von 100vh
stattdessen bedeutet, dass das p
Tag body
unabhängig von der div
Höhe 100% der Höhe des Tags entspricht . Schauen Sie sich diese begleitende JSFiddle an, um den Unterschied leicht zu erkennen!