2011-08-11 5 views
8

Czy ktoś wie o rozwiązaniu ograniczającym głębokość potomną przy wyborze elementu przy pomocy CSS?Style głębi głębokości CSS można zastosować do elementów

Przykład:

.my-class div div:end(styles:here) 

To zapobiegłoby konieczności dodawania CSS klas do każdego drugiego div na stronie, przy jednoczesnym zapobieganiu style przed przekazywane w dół do trzeciego czwartego itd dziecka.

Odpowiedz

14

Można w szczególności powiedzieć, aby przeszukać tylko o 1 poziom głębiej za pomocą the > operator.

Rozważmy następujący przykład:

#target > p > span { 
    background: red; 
} 

Będzie wyszukiwania #target dla bezpośredni elementu podrzędnego <p>, a wewnątrz tego elementu, wyszuka bezpośredni elementu podrzędnego <span>. Więc jeśli istnieje zagnieżdżony element <p> i jego zakres, nie będzie to miało wpływu.

Bardzo często używany jest dla elementów listy zagnieżdżonej, gdzie chcesz, aby lista główna była stylizowana, ale lista pomocnicza nie.

ul#parent > li /* Direct descendant. */ 
ul#parent > li > ul > li /* 2 levels deep descendant. */ 
+0

Wygląda na to, że nie można tego użyć do stylizowania węzłów tekstowych bezpośrednio pod tagiem body, nawet jeśli są one dołączone do wszystkich innych niesynchronizowanych węzłów, jeśli po prostu stylujemy ciało. Na przykład, nie można nadać samemu tekstowi najwyższego poziomu koloru niebieskiego w ten sposób, jeśli stylujemy ciało kolorem: niebieski, wszystkie niepublikowane teksty na wszystkich głębokościach zmieniają kolor na niebieski. – Michael

+0

@Michael to częściowo, ponieważ według specyfikacji, ciało nie może trzymać węzłów tekstowych. Ciało może tylko trzymać elementy na poziomie bloku. –

+0

Ale widzę cały czas coś takiego: Jakiś tekst. . – Michael

Powiązane problemy