后代组合器

Baseline 已广泛支持

此特性已相当成熟,可在许多设备和浏览器版本上使用。自 ⁨2015 年 7 月⁩以来,各浏览器均已提供此特性。

后代选择器——通常由单个空格(" ")字符表示——将两个选择器组合起来,如果第二个选择器匹配的元素具有匹配第一个选择器的祖先元素(父元素、父元素的父元素、父元素的父元素的父元素等),则选中该元素。利用后代选择器的选择器称为后代选择器

css
/* List items that are descendants of the "my-things" list */
ul.my-things li {
  margin: 2em;
}

后代选择器在技术上是两个选择器之间一个或多个CSS空白字符——空格字符和/或四个控制字符之一:回车、换页、换行和制表符——且没有其他组合器。此外,构成该组合器的空白字符可以包含任意数量的 CSS 注释。

语法

css
selector1 selector2 {
  /* property declarations */
}

示例

CSS

css
li {
  list-style-type: disc;
}

li li {
  list-style-type: circle;
}

HTML

html
<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>

结果

规范

规范
选择器 Level 4
# 后代组合器

浏览器兼容性

另见