Выбрать все дочерние элементы рекурсивно в CSS

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

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

этот класс только бросает класс на определенное имя класса и всех непосредственных потомков. Как вы можете простым способом выбрать все childNodes следующим образом:

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

2 ответов


использовать пробел чтобы соответствовать всем потомкам элемента:

div.dropdown * {
    color: red;
}

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

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

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


правило выглядит следующим образом :

A B 

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

A > B 

B как ребенок

так

div.dropdown *

, а не

div.dropdown > *