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

问题描述 投票:402回答:2

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

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

此类仅在定义的className和所有直接子类上抛出一个类。您如何以一种简单的方式选择所有子节点,如下所示:

div.dropdown, 
div.dropdown > *, 
div.dropdown > * > *, 
div.dropdown > * > * > *, 
div.dropdown > * > * > * > * {
    color: red;
}
css css-selectors
2个回答
611
投票

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

div.dropdown * {
    color: red;
}

x yx内部的每个元素y匹配,无论它嵌套得有多深-子代,孙代等等。

星号*匹配任何元素。

官方规格:CSS 2.1: Chapter 5.5: Descendant Selectors


140
投票

规则如下:

A B 

B是A的后代

A > B 

B作为A的孩子

所以

div.dropdown *

而不是

div.dropdown > *
© www.soinside.com 2019 - 2024. All rights reserved.