it-swarm.com.ru

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

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

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

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

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

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

div.dropdown * {
    color: red;
}

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

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

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

540
anroesti

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

A B 

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

A > B 

B как ребенок от A

Так

div.dropdown *

и не

div.dropdown > *
117
Abdennour TOUMI