CSS 组合选择符

CSS 组合选择符

组合选择符说明了两个选择器直接的关系。

CSS组合选择符包括各种简单选择符的组合方式。

在 CSS3 中包含了四种组合方式:

  • 后代选择器(以空格 分隔)
  • 子元素选择器(以大于号 > 分隔)
  • 相邻兄弟选择器(以加号 + 分隔)
  • 普通兄弟选择器(以破折号 ~ 分隔)

另:MDN中对此节的中文翻译稍有差异,
组合选择器被称为 组合器(Combinators)。一共有4种组合器:
' ' 后代组合器(Descendant combinator)
'>' 直接子代组合器(Child combinator)
'~' 一般兄弟组合器(General sibling combinator)
'+' 紧邻兄弟组合器(Adjacent sibling combinator)


后代选择器

后代选择器用于选取某元素的后代元素。

以下实例选取所有 <p> 元素插入到 <div> 元素中: 

div p{
  background-color:yellow;
}

子元素选择器

与后代选择器相比,子元素选择器(Child selectors)只能选择作为某元素子元素的元素。

以下实例选择了<div>元素中所有直接子元素 <p> :

div>p
{
  background-color:yellow;
}

相邻兄弟选择器

相邻兄弟选择器(Adjacent sibling selector)可选择紧接在另一元素后的元素,且二者有相同父元素。

如果需要选择紧接在另一个元素后的元素,而且二者有相同的父元素,可以使用相邻兄弟选择器(Adjacent sibling selector)。

以下实例选取了所有位于 <div> 元素后的第一个 <p> 元素:

div+p
{
  background-color:yellow;
}

普通兄弟选择器

普通兄弟选择器选取所有指定元素之后的相邻兄弟元素。

以下实例选取了所有 <div> 元素之后的所有相邻兄弟元素 <p> : 

div~p
{
  background-color:yellow;
}