como usar o enésimo tipo para classes - não elementos [duplicados]
Esta pergunta já tem uma resposta aqui:
Seletor CSS3: primeiro do tipo com o nome da classe? 8 respostas css3 enésimo tipo do tipo restrito à classe [duplicado] 2 respostasEstou trabalhando em um HTML simples para uma galeria de imagens. Cada linha da galeria pode ter 2, 3 ou 4 imagens. (Em uma linha de 2 imagens, cada elemento da imagem é nomeadotype-2
, o mesmo vale paratype-3
etype-4
.)
gora, quero selecionar o último elemento de cada linha para definir uma margem personalizada. Meu HTML é assim:
<div id="content">
<div class="type-2"></div>
<div class="type-2"></div> <!-- I want this, 2n+0 of type-2 -->
<div class="type-3"></div>
<div class="type-3"></div>
<div class="type-3"></div> <!-- this, 3n+0 of type-3 -->
<div class="type-4"></div>
<div class="type-4"></div>
<div class="type-4"></div>
<div class="type-4"></div> <!-- this, 4n+0 of type-4 -->
<div class="type-2"></div>
<div class="type-2"></div> <!-- this -->
<div class="type-3"></div>
<div class="type-3"></div>
<div class="type-3"></div> <!-- this -->
<div class="type-4"></div>
<div class="type-4"></div>
<div class="type-4"></div>
<div class="type-4"></div> <!-- this -->
</div>
Acho que o seguinte CSS funcionaria, mas não funcionou:
.type-2:nth-of-type(2n+0) {margin-right:0;}
.type-3:nth-of-type(3n+0) {margin-right:0;}
.type-4:nth-of-type(4n+0) {margin-right:0;}
O que esse CSS seleciona é:
<div id="content">
<div class="type-2"></div>
<div class="type-2"></div> <!-- selected by .type-2:nth-of-type(2n+0) -->
<div class="type-3"></div> <!-- selected by .type-3:nth-of-type(3n+0) -->
<div class="type-3"></div>
<div class="type-3"></div>
<div class="type-4"></div>
<div class="type-4"></div>
<div class="type-4"></div> <!-- selected by .type-4:nth-of-type(4n+0) -->
<div class="type-4"></div>
<div class="type-2"></div> <!-- selected by .type-2:nth-of-type(2n+0) -->
<div class="type-2"></div>
<div class="type-3"></div> <!-- selected by .type-3:nth-of-type(3n+0) -->
<div class="type-3"></div>
<div class="type-3"></div>
<div class="type-4"></div>
<div class="type-4"></div> <!-- selected by .type-4:nth-of-type(4n+0) -->
<div class="type-4"></div>
<div class="type-4"></div>
</div>
Eu posso editar meu HTML para alcançar o que quero, mas por curiosidade, existe algum tipo de CSS para isso?
Editar esta pergunta pode parecer uma duplicata de perguntas perguntando senth-child
enth-of-type
pode ser aplicado a classes - não a elementos. Eu já sabia que a resposta é não. O que realmente estou pedindo é uma solução / hack de CSS pura, e a resposta escolhida fez exatamente iss