Выберите все дочерние элементы рекурсивно в CSS - PullRequest
354 голосов
/ 06 февраля 2011

Как вы можете выбрать все дочерние элементы рекурсивно?

div.dropdown, div.dropdown > * {
    color: red;
}

Этот класс создает класс только для определенного className и всех ближайших дочерних элементов.Как вы можете простым способом выбрать все дочерние узлы, как это:

div.dropdown, 
div.dropdown > *, 
div.dropdown > * > *, 
div.dropdown > * > * > *, 
div.dropdown > * > * > * > * {
    color: red;
}

Ответы [ 2 ]

546 голосов
/ 06 февраля 2011

Используйте пробел , чтобы соответствовать всем потомкам элемента:

div.dropdown * {
    color: red;
}

x y соответствует каждому элементу y , который находится внутри x, каким бы глубоким он ни был - дети, внуки и т. Д.

Звездочка * соответствует любому элементу.

Официальная спецификация: CSS 2.1: Глава 5.5: Потомки селекторов

122 голосов
/ 29 марта 2013

Правило следующее:

A B 

B как потомок A

A > B 

B в детстве от A

Итак

div.dropdown *

а не

div.dropdown > *
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...