Media Queries
CSS3 Media Query es la clave para un diseño web responsive. Las Media Queries le dicen al navegador como renderizar la página para determinados anchos del viewport. Por ejemplo, el siguiente código CSS le dice al navegador que el fondo del body debe ponerse en color rojo para anchos de pantalla iguales o inferiores a 600 píxeles (smartphones):
@media only screen and (max-width: 600px) {
body {
background-color: red;
}
}Así pues, para un diseño web responsive adecuado, deberemos añadir puntos de ruptura com el del ejemplo, que nos permitan alterar el comportamiento de nuestra web en función del tamaño de pantalla del dispositivo de navegación empleado. Aunque podemos definir los puntos de ruptura que nos plazcan, típicamente se emplean los siguientes:
/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {...}
/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {...}
/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {...}
/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {...}
/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {...}Dentro de estos puntos de ruptura, deberemos definir nuestras clases de cuadrícula responsiva, a fin de establecer diferentes distribuciones de columnas en función del tamaño de la pantalla:
De esta forma, podríamos definir un layout adaptativo, en función si el dispositivo es un equipo de sobremesa, tablet o smartphone como el siguiente:
Las Media Queries también se pueden usar para cambiar el diseño de una página dependiendo de la orientación del navegador (especialmente útil para el caso de las tablets y smartphones). Así es posible tener un conjunto de propiedades CSS que solo se aplicarán cuando la ventana del navegador sea más ancha que su altura, lo que se denomina una orientación landscape. Veamos un ejemplo de cómo deberíamos definir los Media Queries:
Para finalizar, comentar que si en nuestras Media Queries indicamos min-device-width en lugar de min-width o max-device-width en lugar max-width, se usará para la regla CSS el tamaño de pantalla del dispositivo con independencia del tamaño que en esos momentos muestre la pantalla del navegador. Lo normal no obstante es utilizar el tamaño de la ventana del navegador y no la del dispositivo.
Última actualización
¿Te fue útil?