No. Beh, non proprio. Ci sono un paio di selettori che possono avvicinarti un po ', ma probabilmente non funzioneranno nel tuo esempio e non hanno la migliore compatibilità del browser.
:only-child
Il :only-child
è uno dei pochi veri selettori di conteggio, nel senso che viene applicato solo quando v'è un bambino del genitore dell'elemento. Usando il tuo esempio idealizzato, si comporta come children(1)
probabilmente.
:nth-child
Il :nth-child
selettore potrebbe effettivamente portarti dove vuoi andare a seconda di cosa stai davvero cercando di fare. Se vuoi dare uno stile a tutti gli elementi se ci sono 8 bambini, sei sfortunato. Se, tuttavia, desideri applicare gli stili all'ottavo e agli elementi successivi, prova questo:
p:nth-child( n + 8 ){
/* add styles to make it pretty */
}
Sfortunatamente, queste probabilmente non sono le soluzioni che stai cercando. Alla fine, probabilmente dovrai usare alcuni maghi Javascript per applicare gli stili in base al conteggio - anche se dovessi usare uno di questi, avresti bisogno di dare un'occhiata alla compatibilità del browser prima di andare con un puro Soluzione CSS.
W3 CSS3 Spec su pseudo-classi
EDIT Ho letto la tua domanda in modo leggermente diverso: ci sono un paio di altri modi per modellare il genitore , non i bambini. Consentitemi di aggiungere alcuni altri selettori a modo vostro:
:empty
e :not
Questo stile elementi che non hanno figli. Non è utile da solo, ma se associato al :not
selettore, puoi modellare solo gli elementi che hanno figli:
div:not(:empty) {
/* We know it has stuff in it! */
}
Non puoi contare quanti bambini sono disponibili con CSS puro qui, ma è un altro selettore interessante che ti consente di fare cose interessanti.