Hay un par de unidades de medida CSS 3 llamadas:
¿Qué son las Longitudes de porcentaje de vista?
Según la Recomendación de Candidatos de la W3C enlazada arriba:
Las longitudes de porcentaje de vista son relativas al tamaño del bloque contenedor inicial. Cuando se cambia la altura o anchura del bloque contenedor inicial, se escalan en consecuencia.
Estas unidades son vh
(altura de la vista), vw
(anchura de la vista), vmin
(longitud mínima de la vista) y vmax
(longitud máxima de la vista).
¿Cómo se puede utilizar 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 vista. 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
CSS
div {
height: 100vh;
}
Esto es literalmente todo lo que se necesita. Aquí tienes un ejemplo de JSFiddle de esto en uso.
¿Qué navegadores admiten estas nuevas unidades?
Actualmente esto es compatible con todos los principales navegadores actualizados excepto Opera Mini. Consulta Can I use... para obtener más soporte.
¿Cómo se puede utilizar con varias columnas?
En el caso de la pregunta en cuestión, con un divisor izquierdo y derecho, aquí tienes un ejemplo de JSFiddle que muestra un diseño de dos columnas que involucra tanto vh
como vw
.
¿Cómo es 100vh
diferente de 100%
?
Tomemos este diseño como ejemplo:
¡Hola, mundo!
La etiqueta p
aquí está configurada con una altura del 100%, pero debido a que su div
contenedor tiene una altura de 200 píxeles, el 100% de 200 píxeles se convierte en 200 píxeles, no en el 100% de la altura del body
. Usar 100vh
en su lugar significa que la etiqueta p
será del 100% de la altura del body
independientemente de la altura del div
. ¡Echa un vistazo a este JSFiddle acompañante para ver fácilmente la diferencia!