1、基本选择器
| * | 通配符,匹配任何元素 |
|---|---|
| p | 标签选择器 |
| .logo | class 选择器 |
| #app | 标签选择器 |
2、多元素组合选择器
| p,h | 并集选择器 |
|---|---|
| .span-normal.logo | 交集选择器,即是class为.span-normal又是.logo的元素(两个选择器无空格) |
| div p | 后代选择器,匹配div中所有的p |
| div > p | 子代选择器,只匹配下一级中的所有 p |
3、属性选择器
| span[idx] | 匹配具有idx属性的span元素 |
|---|---|
| span[idx=1] | 匹配idx属性为1的span元素 |
| li[perm_type^=’user’] | 匹配perm_type属性为user开头的元素 |
| li[perm_type$=’edit’] | 匹配perm_type属性为edit结尾的元素 |
| li[perm_type*=’lock’] | 匹配perm_type属性为带有lock的元素 |
4、伪类选择器
| a:link | 超链接的初始状态 |
|---|---|
| a:hover | 鼠标悬停的状态 |
| a:active | 鼠标点击时的状态 |
| a:visited | 点击之后的状态 |
| div :not(p) | 匹配div中除了p以外的其他元素 |
| input:focus | 匹配获取焦点的input 元素 |
结构性伪类
| .banner :first-child | 匹配banner中第一个子元素 |
|---|---|
| .banner :last-child | 匹配banner中最后一个子元素 |
| .banner div:nth-child(odd) | 匹配banner中的从开始排序偶数的div,第一个编号为1 |
| .banner div:nth-last-child(even) | 匹配banner中的从后面排序奇数的div |
表单伪类
| input:disabled | 匹配禁用的input元素 |
|---|---|
| input:enabled | 匹配激活的input |
| checkbox:checked | 匹配选中的checkbox |
| p::selection | CSS伪元素应用于文档中被用户高亮的部分(比如使用鼠标或其他选择设备选中的部分) |

5、伪元素选择器
| E::before | 在E元素之前插入生成的内容 |
|---|---|
| E::after | 在E元素之后插入生成的内容 |
