Não. Bem, na verdade não. Existem alguns seletores que podem te aproximar um pouco, mas provavelmente não funcionará no seu exemplo e não possui a melhor compatibilidade com o navegador.
:only-child
O :only-child
é um dos poucos seletores de contagem verdadeiros, no sentido de que é aplicado apenas quando há um filho do pai do elemento. Usando seu exemplo idealizado, ele age como children(1)
provavelmente faria.
:nth-child
O :nth-child
seletor pode realmente levá-lo aonde você quer ir, dependendo do que realmente deseja fazer. Se você quiser estilizar todos os elementos, se houver 8 filhos, não terá sorte. Se, no entanto, você deseja aplicar estilos aos elementos 8 e posterior, tente o seguinte:
p:nth-child( n + 8 ){
/* add styles to make it pretty */
}
Infelizmente, essas provavelmente não são as soluções que você está procurando. No final, você provavelmente precisará usar algumas habilidades de Javascript para aplicar os estilos com base na contagem - mesmo que você use um deles, precisará verificar com atenção a compatibilidade do navegador antes de usar uma linguagem pura. Solução CSS.
W3 CSS3 Spec em pseudo-classes
EDIT Eu li sua pergunta um pouco diferente - existem algumas outras maneiras de estilizar os pais , não os filhos. Deixe-me jogar alguns outros seletores do seu jeito:
:empty
e :not
Isso estiliza elementos que não têm filhos. Não é útil por si só, mas quando emparelhado com o :not
seletor, você pode estilizar apenas os elementos que têm filhos:
div:not(:empty) {
/* We know it has stuff in it! */
}
Você não pode contar quantas crianças estão disponíveis com CSS puro aqui, mas é outro seletor interessante que permite fazer coisas legais.