如何使CSS选择器匹配标有某个类的元素的子树中的所有元素?
我正在想象下面的CSS(:subtree
部分是我在做什么的。)
.diagram:subtree
{
...
}
当我像下面那样编写HTML时,应该选择<div>
及其中的每个元素。
<div class="diagram">
...
</div>
答案 0 :(得分:5)
只需使用descendant selector(空格):
.diagram * { … }
这将选择应用了diagram
类的任何元素下的每个元素。
要匹配div本身及其后代,请使用grouping:
.diagram, .diagram * { … }
引用规范:
有时,作者可能希望选择器匹配作为文档树中另一个元素的后代的元素(例如,“匹配H1元素包含的那些EM元素”)。后代选择器以一种模式表达这种关系。后代选择器由两个或多个由空格分隔的选择器组成。当元素B是某个祖先元素A的任意后代时,形式为“A B”的后代选择器匹配。
答案 1 :(得分:4)
.diagram, .diagram *
这将选择div .diagram
。空间是后代选择器,*
是所有元素。
.diagram,
,但你可以根据需要删除它。
答案 2 :(得分:2)
只需将此代码用于.diagram * {}