Aqui está um exemplo que não entendo:
.container_12 .grid_6,
.container_16 .grid_8 {
width: 460px;
}
Parece-me que isso width: 460px
se aplica a todas as classes acima mencionadas. Mas por que algumas classes são separadas por uma vírgula ( ,
) e outras apenas por um espaço?
Suponho que width: 460px
isso será aplicado apenas aos elementos que combinam classes da maneira mencionada no arquivo CSS. Por exemplo, será aplicado a, <div class='container_12 grid_6'>
mas não será aplicado ao <div class='container_12'>
. Esta suposição está correta?
css
css-selectors
romano
fonte
fonte
Respostas:
Isso diz "faça com que todos os .grid_6s em .container_12 e todos os .grid_8s em .container_16 com 460 pixels de largura." Portanto, os dois itens a seguir serão processados da mesma forma:
Quanto às vírgulas, é a aplicação de uma regra a várias classes, como esta.
É funcionalmente equivalente a:
Mas reduz a verbosidade.
fonte
.container_12 .grid_6
trata apenas dos.grid_6
itens encontrados nos.container_12
itens.Esta regra corresponde a um nó DOM com classe
container_12
que possui um descendente (não necessariamente um filho) com classegrid_6
e aplica as regras CSS ao elemento DOM com classegrid_6
.Colocando
>
entre eles diz que ogrid_6
nó deve ser um filho direto do nó com classecontainer_12
.Uma vírgula, como outros afirmaram, é uma forma de aplicar regras a muitos nós diferentes ao mesmo tempo. Nesse caso, as regras se aplicam a qualquer nó com uma classe de
container_12
ougrid_6
.fonte
<space>
e>
entre classes / ids.Não é exatamente o que foi perguntado, mas talvez isso ajude.
Para aplicar um estilo a um elemento apenas se ele tiver ambas as classes, seu seletor não deve usar nenhum espaço entre os nomes das classes.
Por exemplo:
fonte
A vírgula agrupa as classes (aplica o mesmo estilo a todas), um espaço vazio informa que o seletor a seguir deve estar dentro do primeiro seletor.
Portanto
aplica esse estilo apenas à classe
.grid_6
que está dentro da.container_12
classe e à.grid_8
classe que está dentro.container_16
.fonte
O
width: 460px;
será aplicado ao elemento com a.grid_8
classe, contido dentro dos elementos com.container_16
classe, e elementos com a.grid_6
classe, contidos dentro dos elementos com.container_12
.O espaço significa patrimônio, e a vírgula significa 'e'. Se você colocar propriedades com um seletor como
.class-a, .class-b
, terá as propriedades aplicadas aos elementos com qualquer uma das duas classes.Espero ter ajudado.
fonte
Você tem quatro classes e dois seletores em seu exemplo:
Portanto,
.container_12
e.grid_6
são ambas as classes, mas a regrawidth: 460px
só será aplicada a elementos que possuem a.grid_6
classe que são descendentes de um elemento que possui a.container_16
classe.Por exemplo:
fonte
O acima significa que você está aplicando estilos a duas classes, indicadas pela vírgula.
Quando você vê dois elementos lado a lado não separados, pode presumir que se refere a uma área dentro de uma área. Portanto, no exemplo acima, este estilo só se aplica às classes grid_6 dentro das classes container_12 e classes grid_8 dentro das classes container_16.
no exemplo:
A primeira grade_6 não será afetada, enquanto a segunda classe grid_6 será porque está contida dentro de um container_12.
Uma declaração como
Só aplicaria o negrito para
tags dentro de áreas que têm "descrição" de classe que estão dentro de uma área com id "admin", como:
fonte
width:460px
será aplicado apenas a.grid_6
e.grid_8
Edit: Aqui está um artigo muito bom para você
http://css-tricks.com/multiple-class-id-selectors/
fonte
.grid_6
&.grid_8
residir em um.container_12
or.container_16
As combinações de seletores obtêm significados diferentes - a imagem anexada explica facilmente
a) Seletores múltiplos separados por vírgula (“,”) - Os mesmos estilos são aplicados a todos os elementos selecionados.
Aqui, o estilo da borda é aplicado aos elementos DIV e aos elementos aplicados da classe CSS (.elmnt-color).
b) Seletores múltiplos separados por espaço - são chamados de seletores descendentes.
}
Aqui, o estilo da borda é aplicado aos elementos aplicados da classe CSS (.elmnt-color) que são elementos filhos do elemento DIV.
c) Seletores múltiplos especificados sem espaço - aqui os estilos são aplicados a elementos que atendem a todas as combinações.
Aqui, o estilo da borda é aplicado apenas aos elementos DIV aplicados da classe CSS (.elmnt-color).
Os detalhes estão anexados em https://www.csssolid.com/css-tips.html
Nota: CSS Class é um dos CSS Selector. A regra acima é aplicável a todos os seletores CSS (ex: Classe, Elemento, ID etc.).
fonte