--- title: 选择器列表 slug: Web/CSS/Selector_list tags: - CSS - 层叠样式表 - 选择器 translation_of: Web/CSS/Selector_list ---
CSS 选择器列表(,
),常被称为并集选择器或并集组合器,选择所有能被列表中的任意一个选择器选中的节点。
/* 选择所有 <span> 和 <div> 元素 */ span, div { border: red 2px solid; }
为了使样式表更简洁,可以使用逗号分隔的列表来对选择器进行分组。
element, element, element { style properties }
在一行之中使用逗号为选择器分组。
h1, h2, h3, h4, h5, h6 { font-family: helvetica; }
使用逗号对多行选择器进行分组。
#main, .content, article { font-size: 1.1em; }
使用选择器列表的一个缺点是,以下两段 CSS 代码并不不等价:
h1 { font-family: sans-serif } h2:maybe-unsupported { font-family: sans-serif } h3 { font-family: sans-serif }
h1, h2:maybe-unsupported, h3 { font-family: sans-serif }
这是因为,在选择器列表中如果有一个选择器不被支持,那么整条规则都会失效。
解决这个问题的一个方法是使用 {{CSSxRef(":is", ":is()")}} 选择器,它会忽视它的参数列表中失效的选择器,但是由于 {{CSSxRef(":is", ":is()")}} 会影响优先级的计算方式,这么做的代价是,其中的所有选择器都会拥有相同的优先级。
h1 { font-family: sans-serif } h2:maybe-unsupported { font-family: sans-serif } h3 { font-family: sans-serif }
:is(h1, h2:maybe-unsupported, h3) { font-family: sans-serif }
规范 | 状态 | 备注 |
---|---|---|
{{SpecName("CSS4 Selectors", "#grouping", "Selector Lists")}} | {{Spec2("CSS4 Selectors")}} |
重命名为“选择器列表”("selector list") |
{{SpecName('CSS1', '#grouping', 'grouping')}} | {{Spec2('CSS1')}} | 初始定义 |
{{Compat("css.selectors.list")}}