:only-child
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
A pseudo-classe de CSS :only-child
representa um elemento sem nenhum elemento-irmão. É o mesmo que :first-child:last-child
ou :nth-child(1):nth-last-child(1)
, mas com uma especificidade mais baixa.
css
/* Seleciona cada <p>, mas apenas se for o */
/* único filho de seu elemento-pai */
p:only-child {
background-color: lime;
}
Nota: Originalmente, foi definido que o elemento selecionado deveria ter um elemento-pai. A partir de Selectors Level 4, isso não é mais necessário.
Sintaxe
Error: could not find syntax for this item
Exemplos
Exemplo básico
HTML
html
<main>
<div>
<i>Eu sou um filho único solitário.</i>
</div>
<div>
<i>Eu tenho irmãos.</i><br />
<b>Eu também!</b><br />
<span>Eu também tenho irmãos, <span>mas este é um filho único.</span></span>
</div>
</main>
CSS
css
main :only-child {
color: red;
}
Resultado
Exemplo de lista
HTML
html
<ol>
<li>
Primeiro
<ul>
<li>Essa lista tem apenas um elemento.</li>
</ul>
</li>
<li>
Segundo
<ul>
<li>Essa lista tem três elementos.</li>
<li>Essa lista tem três elementos.</li>
<li>Essa lista tem três elementos.</li>
</ul>
</li>
</ol>
CSS
css
li li {
list-style-type: disc;
}
li:only-child {
color: red;
list-style-type: square;
}
Resultado
Especificações
Specification |
---|
Selectors Level 4 # only-child-pseudo |
Compatibilidade com navegadores
BCD tables only load in the browser