在CSS中递归地选择所有子元素

如何递归地选择所有子元素?

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

这个类只在定义的className和所有直接子类上抛出一个类。你如何以一种简单的方式,像这样选择所有的childnode:

div.dropdown,
div.dropdown > *,
div.dropdown > * > *,
div.dropdown > * > * > *,
div.dropdown > * > * > * > * {
color: red;
}
701412 次浏览

使用空白来匹配一个元素的所有后代:

div.dropdown * {
color: red;
}

x y匹配x内的每个元素y,无论它嵌套有多深——子元素、孙子元素等等。

星号*匹配任何元素。

官方规格:CSS 2.1:第5.5章:后代选择器

规则如下:

A B {
/* B is descendant of A */
}
A > B {
/* B is direct child of A */
}

所以

div.dropdown *

而不是

div.dropdown > *