Encontrei o mesmo problema há alguns anos e financiei o desenvolvimento de um plugin para me ajudar no meu trabalho. Lancei o plug-in como código-fonte aberto para que outros possam se beneficiar dele, e você pode acessá-lo no Github: https://github.com/eqcss/eqcss
Existem algumas maneiras pelas quais podemos aplicar diferentes estilos responsivos com base no que podemos saber sobre um elemento na página. Aqui estão algumas consultas de elementos que o plug-in EQCSS permitirá que você escreva em 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 */
}
}
Então, quais condições são suportadas para estilos responsivos com o EQCSS?
Consultas de peso
- largura mínima em
px
- largura mínima em
%
- largura máxima em
px
- largura máxima em
%
Consultas de altura
- altura mínima em
px
- altura mínima em
%
- altura máxima em
px
- altura máxima em
%
Contar consultas
- caracteres mínimos
- max-characters
- linhas mínimas
- max-lines
- min-crianças
- max-crianças
Seletores Especiais
Nas consultas do elemento EQCSS, você também pode usar três seletores especiais que permitem aplicar seus estilos mais especificamente:
$this
(o (s) elemento (s) correspondente (s) à consulta)
$parent
(o (s) elemento (s) pai (s) do (s) elemento (s) correspondente (s) à consulta)
$root
(o elemento raiz do documento <html>
)
As consultas de elemento permitem que você componha seu layout a partir de módulos de design responsivos individualmente, cada um com um pouco de 'autoconsciência' de como eles estão sendo exibidos na página.
Com o EQCSS, você pode criar um widget para ter uma boa aparência, de 150px a 1000px, e então soltar esse widget em qualquer barra lateral de qualquer página, usando qualquer modelo (em qualquer site) e