Responsive
El diseño responsive se ha convertido en una práctica muy común hoy en día. Uno de los ejemplos típicos es el de conocer las características del dispositivo para, dependiendo del mismo, utilizar un estilo u otro.
Vamos a ver un ejemplo básico de cómo funciona una media query en CSS:
Si nos fijamos estamos modificando el .sidebar dependiendo de la resolución del dispositivo. Con Sass una media query la haríamos:
Podemos combinar fácilmente las media queries con mixins utilizando la directiva @content. Lo que hacemos con esta directiva es incluir un bloque de propiedades dentro un mixin. Por ejemplo:
Una de las prácticas más frecuentes en estos casos es enviar al mixin un argumento sobre el media, de forma que se realice esta comprobación, por ejemplo, aplicar un estilo sólo si estamos usando una tablet:
En esta declaración podríamos añadir un else o else if si queremos seguir realizando comprobaciones para los diferentes dispositivos. Sin embargo, esto no es todo lo flexible que debería. Una solución más correcta sería:
Con esto, lo que conseguimos es que se incluya si se cumple con el ancho mínimo que nosotros definimos, de forma que podamos usar este mixin en cualquier lugar donde tengamos un estilo para un valor min-width. Pero si queremos que por ejemplo este mixin no sólo se use para un mínimo, sino que pueda ser para un máximo también, la posibilidad que tenemos para modificarlo sería: