Hay un par de unidades de medida CSS 3 llamadas:
¿Qué son las longitudes de porcentaje de ventana gráfica?
De la Recomendación de Candidato W3 vinculada arriba:
Las longitudes de porcentaje de ventana gráfica son relativas al tamaño del bloque contenedor inicial. Cuando se cambia la altura o el ancho del bloque contenedor inicial, se escalan en consecuencia.
Estas unidades son vh
(altura de ventana), vw
(ancho de ventana), vmin
(longitud mínima de ventana) y vmax
(longitud máxima de ventana).
¿Cómo se puede usar para hacer que un divisor llene la altura del navegador?
Para esta pregunta, podemos hacer uso de vh
: 1vh
es igual al 1% de la altura de la ventana gráfica. Es decir, 100vh
es igual a la altura de la ventana del navegador, independientemente de dónde se encuentre el elemento en el árbol DOM:
HTML
<div></div>
CSS
div {
height: 100vh;
}
Esto es literalmente todo lo que se necesita. Aquí hay un ejemplo de JSFiddle de esto en uso.
¿Qué navegadores admiten estas nuevas unidades?
Actualmente, esto es compatible con todos los principales navegadores actualizados, aparte de Opera Mini. Consulte ¿Puedo usar ... para obtener más ayuda?
¿Cómo se puede usar esto con múltiples columnas?
En el caso de la pregunta en cuestión, con un divisor izquierdo y uno derecho, aquí hay un ejemplo de JSFiddle que muestra un diseño de dos columnas que involucra ambos vh
y vw
.
¿Cómo es 100vh
diferente a 100%
?
Tome este diseño por ejemplo:
<body style="height:100%">
<div style="height:200px">
<p style="height:100%; display:block;">Hello, world!</p>
</div>
</body>
La p
etiqueta aquí está establecida en 100% de altura, pero debido a que contiene div
200 píxeles de altura, el 100% de 200 píxeles se convierte en 200 píxeles, no en el 100% de la body
altura. En su 100vh
lugar, usar significa que la p
etiqueta tendrá una altura del 100% body
independientemente de la div
altura. ¡Eche un vistazo a este JSFiddle que lo acompaña para ver fácilmente la diferencia!