# 类型
- 标签选择器 (如:body, div, p, ul, li)
- id选择器 (如:id="box" #box{} )
- 类选择器 (如:class="box" .box{} )
- 属性选择器 (如:[title="xx"] )
- 相邻选择器 (如:selector + selector)
- 兄长选择器 (如:selector ~ selector)
- 亲子选择器 (如:selector > selector)
- 后代选择器 (如:selector selector)
- 通配符选择器 (如:*)
- 伪类选择器 (如::link, :visited, :hover, :active)
- 伪元素选择器 (如: ::first-letter, ::before)
# 权重
CSS的选择器权重是以256进制来算的。
| 类型 | 权重 |
|---|---|
| !important | Infinity |
| 内联样式 style | 1000 |
| id选择器 | 100 |
| 类、伪类、属性选择器 | 10 |
| 标签、伪元素 选择器 | 1 |
| 通配符、子、相邻选择器 | 0 |
| 继承样式 | 无 |
相邻、兄长、亲子、后代 这几种选择器的具体权重需要拆分选择器再进行计算, 其本身权重为0,不影响计算。
优先级相同时,采用就近原则。
继承得来的属性,优先级最低。