前言
复合选择器:是由两个或多个基础选择器,通过不同的方式组合而成的
1.后代选择器
- 后代选择器又称为包含选择器,可以选择父元素里面的子元素
<style>
元素1 元素2 {
width: 500px;
height: 300px;
}
</style>
- 元素1 是父级,元素2 是子级,最终选择的是元素2
2.子选择器
子元素选择器只能选择作为某元素的最近一级子元素,简单理解就是选亲儿子元素
<style>
元素1>元素2 {
width: 500px;
height: 300px;
}
</style>
- 元素1 和 元素2 中间用大于号隔开
- 元素1 是父级,元素2 是子级,最终选择的是元素2
- 元素2必须是亲儿子,其孙子、重孙之类都不归他管
3.并集选择器
并集选择器可以选择多组标签,同时为它们定义相同的样式
<style>
元素1,
元素2 {
width: 500px;
height: 300px;
}
</style>
- 元素1 和 元素2 中间用逗号隔开
- 逗号可以理解为和的意思
4.伪类选择器
- 伪类选择器用于向某些选择器添加特殊的效果
- 伪类选择器种类较多,例如链接伪类、结构伪类等
①链接伪类选择器
:hover
会在光标(鼠标指针)悬停在元素上时提供关联的样式
<style>
a {
color: skyblue;
}
a :hover {/* 关于a的链接伪类选择器 */
color: #ccc;
}
</style>
② :focus伪类选择器
:focus
伪类选择器用于选取获得焦点的表单元素
<style>
input:focus {
color: skyblue;
}
</style>
- 焦点就是光标,一般情况
<input>
类表单元素才能获取,因此这个选择器也主要针对表单元素来说
6.总结
选择器 | 作用 | 特征 | 使用情况 | 隔开符号及用法 |
---|---|---|---|---|
后代选择器 | 用来选择后代元素 | 可以是子孙后代 | 较多 | 符号是空格 .nav a |
子代选择器 | 选择最近一级元素 | 只选亲儿子 | 较少 | 符号是大于 .nav>p |
并集选择器 | 选择某些相同样式的元素 | 可以用于集团声明 | 较多 | 符号是逗号 .nav,.heade r |
链接伪类选择器 | 选择不同状态的链接 | 跟链接相关 | 较多 | 重点记住a{} 和a:hover ,实际开发的写法 |
:focus选择器 | 选择获得光标的表单 | 跟表单相关 | 较少 | input:focus 记住这个写法 |