--- title: 后代选择器 slug: Web/CSS/Descendant_combinator tags: - CSS - Selectors translation_of: Web/CSS/Descendant_combinator ---
后代组合器(通常用单个空格(
)字符表示)组合了两个选择器,如果第二个选择器匹配的元素具有与第一个选择器匹配的祖先(父母,父母的父母,父母的父母的父母等)元素,则它们将被选择。利用后代组合器的选择器称为后代选择器。
/* List items that are descendants of the "my-things" list */ ul.my-things li { margin: 2em; }
从技术上讲,后代组合器是两个选择器之间的一个或多个 {{Glossary("CSS")}} 空格字符-空格字符和/或四个控制字符之一:回车,换页,换行和制表符在没有其他组合器的情况下。此外,组成组合器的空白字符可以包含任意数量的CSS注释。
selector1 selector2 { /* property declarations */ }
li { list-style-type: disc; } li li { list-style-type: circle; }
<ul> <li> <div>Item 1</div> <ul> <li>Subitem A</li> <li>Subitem B</li> </ul> </li> <li> <div>Item 2</div> <ul> <li>Subitem A</li> <li>Subitem B</li> </ul> </li> </ul>
{{EmbedLiveSample("Examples", "100%", 160)}}
Specification | Status | Comment |
---|---|---|
{{SpecName("CSS4 Selectors", "#descendant-combinators", "descendant combinator")}} | {{Spec2("CSS4 Selectors")}} | |
{{SpecName("CSS3 Selectors", "#descendant-combinators", "descendant combinator")}} | {{Spec2("CSS3 Selectors")}} | |
{{SpecName("CSS2.1", "selector.html#descendant-selectors", "descendant selectors")}} | {{Spec2("CSS2.1")}} | |
{{SpecName("CSS1", "#contextual-selectors", "contextual selectors")}} | {{Spec2("CSS1")}} | Initial definition |
{{Compat("css.selectors.descendant")}}