Media queries
<< Diseño adaptativo y responsive Pruebas en el navegador >>
Las medias queries son un tipo de reglas de CSS que nos van a permitir crear bloques de código. Estos bloques serán procesados en aquellos dispositivos que cumplan la siguiente regla:
- media_type: corresponde al tipo de medio al que se van a aplicar esos estilos como screen(sólo en pantallas), print (cuando seleccionamos imprimir una web se aplicaría ese estilo. De forma habitual, el número de imágenes que se muestran al imprimir se reducen), o all(todos los dispositivos, por defecto está este valor). Ojo, porque antiguamente habían más tipos pero han sido deprecated.
- <expressiones>: es una o varias condiciones que debe cumplir el dispositivo. Normalmente corresponde a su anchura máxima o mínima.
No suele ser muy habitual el encontrarte reglas @media con la palabra clave not, que hace que se aplique la hoja de estilos cuando no se cumpla dicha regla.
Es importante recordar el meta que ponemos en el <head> de nuestra web, donde estamos indicando que el ancho de la pantalla es el ancho del dispositivo, por lo que el aspecto del viewport se va a adaptar:
Además de esta forma de indicar los media queries, tenemos la posibilidad de indicarlos en el link y que cada link apunte a un archivo css diferente, por ejemplo para el caso anterior:
Una buena práctica es definir los estilos que serán comunes a cualquier resolución junto con los estilos para la resolución más baja o más alta, y luego poner en los media queries las características que para el resto de resoluciones.
Por ejemplo, imaginad que en el section de nuestro HTML tenemos dos sections y queremos que para los móviles se muestren una debajo de otra pero para pantallas mayores que se muestren en paralelo. El primer paso será definir el estilo general y el estilo para los dispositivos móviles:
El siguiente paso será definir el estilo para el resto de pantallas que no son móviles (tablets y pc), que como en este caso serán las dos sections una al lado de otra en ambos casos sería:
Por último, dentro de este punto indicar que tenemos la posibilidad para detectar ciertas preferencias de usuario dependiendo del dispositivo, sistema operativo o navegador que utiliza. Estas preferencias son: prefers-color-scheme, prefers-contrast, prefers-reduced-motion y prefers-reduced-data.
<< Diseño adaptativo y responsive Pruebas en el navegador >>