Me encontré con el mismo problema hace un par de años y financié el desarrollo de un complemento para ayudarme en mi trabajo. He lanzado el complemento como código abierto para que otros también puedan beneficiarse de él, y puedes obtenerlo en Github: https://github.com/eqcss/eqcss
Hay algunas maneras en que podríamos aplicar diferentes estilos de respuesta basados en lo que podemos saber sobre un elemento en la página. Aquí hay algunas consultas de elementos que el complemento EQCSS le permitirá escribir en CSS:
@element 'div' and (condition) {
$this {
/* Do something to the 'div' that meets the condition */
}
.other {
/* Also apply this CSS to .other when 'div' meets this condition */
}
}
Entonces, ¿qué condiciones son compatibles con los estilos receptivos con EQCSS?
Consultas de peso
- ancho min en
px
- ancho min en
%
- ancho máximo en
px
- ancho máximo en
%
Consultas de altura
- altura mínima en
px
- altura mínima en
%
- altura máxima en
px
- altura máxima en
%
Contar consultas
- min-caracteres
- max-caracteres
- líneas mínimas
- lineas maximas
- min-niños
- max-children
Selectores especiales
Dentro de las consultas de elementos EQCSS, también puede usar tres selectores especiales que le permiten aplicar más específicamente sus estilos:
$this
(los elementos que coinciden con la consulta)
$parent
(los elementos primarios de los elementos que coinciden con la consulta)
$root
(el elemento raíz del documento <html>
)
Las consultas de elementos le permiten componer su diseño a partir de módulos de diseño que responden individualmente, cada uno con un poco de "autoconciencia" de cómo se muestran en la página.
Con EQCSS puede diseñar un widget para que se vea bien desde 150 px de ancho hasta 1000 px de ancho, luego puede colocar ese widget con confianza en cualquier barra lateral en cualquier página usando cualquier plantilla (en cualquier sitio) y