Nie. Niezupełnie. Istnieje kilka selektorów, które mogą zbliżyć cię do siebie, ale prawdopodobnie nie będą działać w twoim przykładzie i nie będą miały najlepszej kompatybilności z przeglądarką.
:only-child
Jest :only-child
to jeden z niewielu prawdziwych selektorów liczących w tym sensie, że jest stosowany tylko wtedy, gdy istnieje jedno dziecko elementu nadrzędnego elementu. Korzystając z wyidealizowanego przykładu, działa on children(1)
prawdopodobnie tak, jak by to zrobił.
:nth-child
:nth-child
Selektor rzeczywistości może Cię tam, gdzie chcesz iść w zależności od tego, czego naprawdę chce robić. Jeśli chcesz stylizować wszystkie elementy, jeśli jest 8 dzieci, nie masz szczęścia. Jeśli jednak chcesz zastosować style do 8. i późniejszych elementów, spróbuj tego:
p:nth-child( n + 8 ){
/* add styles to make it pretty */
}
Niestety, prawdopodobnie nie są to rozwiązania, których szukasz. W końcu prawdopodobnie będziesz musiał użyć niektórych kreatorów JavaScript, aby zastosować style oparte na liczbie - nawet jeśli użyjesz jednego z nich, musisz rzucić okiem na kompatybilność przeglądarki, zanim przejdziesz do czystego Rozwiązanie CSS.
W3 CSS3 Spec na pseudoklasy
EDYTOWAĆ Przeczytałem twoje pytanie nieco inaczej - istnieje kilka innych sposobów na stylizację rodzica , a nie dzieci. Pozwól mi rzucić kilka innych selektorów na swój sposób:
:empty
i :not
Stylizuje elementy, które nie mają dzieci. Sam w sobie nie jest to użyteczne, ale w połączeniu z :not
selektorem możesz stylizować tylko te elementy, które mają dzieci:
div:not(:empty) {
/* We know it has stuff in it! */
}
Nie możesz policzyć, ile dzieci jest dostępnych z czystym CSS, ale jest to kolejny interesujący selektor, który pozwala robić fajne rzeczy.