复合选择器是建立在基础选择器之上,对基础选择器进行组合形成。由两个或多个基础选择器通过不同的方式组合而成。
常用的复合选择器有:后代选择器、子选择器、并集选择器、伪类选择器等等。
后代选择器(常用)
后代选择器即包含选择器,可以选择父元素里面的子元素。写法是把外层标签写在前面,内层标签写在后面,中间用空格分隔。当标签发生嵌套时,内层标签则成为外层标签的后代。
<style>
ol li{
color:red;
}
</style>
......
<ol>
<li>ol的子元素</li>
</ol>
<ul>
<li>ul的子元素</li>
</ul>
......
在以上示例中,利用后代选择器,使ol标签的内层标签li内的文字变为红色。
语法
元素1 元素2{样式声明;}
- 元素1与元素2中间用空格隔开;
- 元素1为父元素,元素2为子元素,最终修改的是子元素的样式;
- 只要的元素1的后代就可以用后代选择器,不管内嵌多少层。
比如:
div p a{color:red;}或div a{color:red;}
- 元素1与元素2可以是任意的基础选择器
子选择器(常用)
子元素选择器(子选择器)只能选择作为某元素的最近一级子元素。
语法
元素1>元素2{样式声明;}
- 元素1和元素2中间用大于号隔开
- 元素1是父极,元素2是子极,最终选择的是元素2
- 元素2必须是距离最近一级的子元素
并集选择器(常用)
并集选择器可以选择多组标签,同时为他们定义相同的样式,通常用于集体声明。
并集选择器是各选择器通过英文逗号连接而成,任何形式的选择器都可以作为并集选择器的一部分。
语法
元素1,元素2{样式声明;}
-
元素1和元素2中间用逗号隔开
-
并集选择器通常用于集体声明
-
不仅是基础选择器,复合选择器也可以作为并集选择器的一部分
/把数字和字母都改成红色/
div, p, .nav li{ color: red; }......
AB
相邻兄弟选择器
相邻选择器可选择紧接在另一元素后的元素,而且二者有相同的父亲。
语法
元素1+元素2 {样式声明}
- 元素2必须紧接在元素1之后(仅仅是相邻也不会被选择,必须是紧接着)
- 元素1与元素2必须有相同的父元素