在CSS中,可以根据选择器的类型把选择器分为基础选择器和复合选择器,复合选择器是建立在基础选择器之上,对基本选择器进行组合形成的
- 复合选择器可以更准确、更高效的选择目标元素(标签)
- 复合选择器是由两个或者多个基础选择器,通过不同的方式组合而成
常用的复合选择器包括:
- 后代选择器
- 子选择器
- 并集选择器
- 伪类选择器等等
后代选择器
后代选择器又称为包含选择器,可以选择父亲元素里面的子元素,其写法就是把外层标签写在前面,内部标签写在后面,中间用空格分隔,当标签发生嵌套是,内层标签就称为外层标签的后代
语法
元素1 元素2 {样式声明}
上述语法表示选择元素1里面的所有元素2(后代元素)
例如:
ul li { 样式声明 }
选择 ul 里面所有的li标签元素
- 元素1和元素2中间用空格隔开
- 元素1是父级,元素2是子级,最终选择的是
元素2
- 元素2可以是儿子,也可以是孙子等等,只要是元素1 的后代即可
- 元素1和元素2可以是任意基础选择器
子选择器
子选择器(子选择器)只能选择作为某元素的最近一级子元素可以理解为亲儿子
语法:
元素1>元素2 { 样式声明 }
上述语法表示选择元素1里面的所有直接后代兄弟元素2
例如:
div>p { 样式声明 }
选择div里面所有便签中最近一级标签 p 标签元素
- 元素1 和元素2 中间用大于号隔开
- 元素1 是父级,元素2是子级,并最终选择的是元素2
- 元素2必须是亲儿子,其孙子,重孙子之类都不归它管
并集选择器
并集选择器可以选择多组标签,同时为他们定义相同的样式,通常用于集体声明
并集选择器是各个选择器通过逗号,
连接而成的,任何形式的选择器都可以作为并集选择器的一部分
语法:
元素1,元素2 { 样式声明 }
上述语法表示选择元素1和元素2
例如:
ul,div { 样式声明 }
选择ul和div标签
- 元素1和元素2中间用逗号隔开
- 逗号可以理解为和意思
- 并集选择器通常用于集体声明
伪类选择器
伪类选择器用于向某些选择器添加特殊的处理效果,比如给链接添加特殊效果,或者选择第一个,第n个元素
伪类选择器的书写的最大特点是用冒号 : 表示,
比如:hover
:first-child
链接伪类
表示方法 | 表示含义 |
---|---|
a:link | 选择所有未被访问的链接 |
a:visited | 选择所有已被访问的链接 |
a:hover | 选择鼠标指针位于其上的链接 |
a:active | 选择活动链接(鼠标按下未弹起的链接) |
注意:
- 为确保生效,请按照LVHA的顺序声明
:focus伪类选择器
用于获得焦点的表单元素
焦点就是光标,一般情况下<input>
类表单元素才能获取,因为这个选择器也主要针对于表单元素来说
input:focus {
background-color: yellow;
}