Por exemplo, se eu tiver o seguinte HTML:
<div class="someDiv"></div>
e este CSS:
.opacity {
filter:alpha(opacity=60);
-moz-opacity:0.6;
-khtml-opacity: 0.6;
opacity: 0.6;
}
.radius {
border-top-left-radius: 15px;
border-top-right-radius: 5px;
-moz-border-radius-topleft: 10px;
-moz-border-radius-topright: 10px;
}
.someDiv {
background: #000; height: 50px; width: 200px;
/*** How can I reference the opacity and radius classes here
so this div has those generic rules applied to it as well ***/
}
Como em linguagens de script, você tem funções genéricas que são usadas frequentemente escritas no topo do script e toda vez que você precisa usar essa função, você simplesmente chama a função em vez de repetir todo o código todas as vezes.
.radius
, como.radius, .another, .element{/* css*/}
. Isso poupará código extra, mas o tornará possivelmente menos legível.Respostas:
Não, você não pode fazer referência a um conjunto de regras de outro.
Você pode, no entanto, reutilizar seletores em vários conjuntos de regras em uma folha de estilo e usar vários seletores em um único conjunto de regras ( separando-os com uma vírgula ).
Você também pode aplicar várias classes a um único elemento HTML (o atributo de classe leva uma lista separada por espaços).
Qualquer uma dessas abordagens deve resolver seu problema.
Provavelmente ajudaria se você usasse nomes de classes que descrevessem por que um elemento deve ser estilizado em vez de como deveria ser estilizado. Deixe o como na folha de estilo.
fonte
fieldset legend
paralabel.legend
. Eu entendo, mas me arrependo..someDiv.other{/*style...*/}
desta forma, apenas os elementos que possuem ambas as classes são afetadosVocê não pode, a menos que esteja usando algum tipo de CSS estendido, como o SASS . No entanto, é muito razoável aplicar essas duas classes extras a
.someDiv
.Se
.someDiv
for exclusivo, eu também escolheria dar a ele um id e fazer referência a ele em css usando o id.fonte
Se você deseja e é capaz de empregar um pouco de jquery, pode simplesmente fazer o seguinte:
Se você tiver um javascript que já processa a página ou você pode colocá-lo em algum lugar entre as tags <script>. Em caso afirmativo, envolva o acima na função de documento pronto:
Recentemente me deparei com isso ao atualizar um plugin do wordpress. O them foi alterado, o que usava muitas diretivas "! Important" em todo o css. Tive que usar jquery para forçar meus estilos por causa da decisão genial de declarar! Important em várias marcas.
fonte
Você pode fazer isso facilmente com o pré-processador SASS usando @extend.
Caso contrário, você também pode usar JavaScript (jQuery):
O mais fácil é, claro, adicionar várias classes diretamente no HTML
fonte
Basta adicionar as classes ao seu html
fonte
Eu tive esse problema ontem. A resposta de @Quentin está ok:
mas criei uma função javascript para simular herança em css (como .Net):
e css equivalente:
e HTML equivalente:
Eu testei e funcionou para mim, mesmo que as regras estejam em arquivos css diferentes.
fonte
Você pode usar a função var () .
Exemplo:
fonte