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

CSS

樱小胖

2020-03-19

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

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

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

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

第2354篇《在CSS中递归选择所有子元素》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
村村理查德 2020.03.19

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

div.dropdown * {
    color: red;
}

x y匹配x内的每个元素y,无论它嵌套在多深处-孩子,孙子等等。

星号*匹配任何元素。

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

十三LEY 2020.03.19

规则如下:

A B 

B作为A的后代

A > B 

B作为A的孩子

所以

div.dropdown *

并不是

div.dropdown > *

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android