肉渣教程

CSS 组合选择器

上一节 下一节

选择器的组合方式

不同的选择器是可以进行组合的,一个单独的选择器可以和另外一个选择器乃至更多的CSS选择器进行组合。CSS选择器的组合则一般包括如下4中组合方式:

  • 后代元素选择器(空格)
  • 子元素选择器(>)
  • 相邻兄弟选择器(+)
  • 普通兄弟选择器(~)

通过上下文关系来选择元素的选择器叫派生选择器,这是一个过时的词汇了,不用去了解。没必要太去纠结这类词汇的概念与包含范围,这些都是虚的,此章节,搞懂上述的四类组合方式就ok啦~


后代元素选择器

后代选择器可以选择指定元素内的特定元素,后者元素只要在前者元素内就ok啦。换言之,后者是前者的子元素、孙元素、重孙元素、重重孙元素……都可以

div p {
    background: Tomato;
}

运行一下

子元素选择器

子元素选择器也是用来选择特定元素内的特定元素,但是不同的是,后者元素必须是前者元素的直接子元素。再强调一下,必须是直接的子元素才ok,孙元素、重孙元素……都不行。

div > p {
    background: Tomato;
}

运行一下

相邻兄弟选择器

相邻兄弟选择器是用来选择指定元素的紧接着的兄弟元素,前者和后者的关系:

  • 前者元素和后者元素是兄弟元素关系,即拥有共同的父元素
  • 相邻关系:前者元素与后者元素必须紧邻;
  • 顺序关系:前者元素必须在后者元素前面。

只有同时满足上述关系的后者元素才会被成功选择。

div + p {
    background: Tomato;
}

运行一下

普通兄弟选择器

与相邻兄弟选择器类似,区别就是相邻关系上不必紧邻。前者元素和后者的关系:

  • 前者元素和后者元素是兄弟元素关系,即拥有共同的父元素
  • 顺序关系:前者元素必须在后者元素前面。

同时满足上述两个条件的后者元素就会被成功选择。

div ~ p {
    background: Tomato;
}

运行一下


CSS 组合选择器

上一节 下一节