直观理解:
- 可能范围越小, 权重越高
- 通过复合选择器把若干个选择器组合之后, 选择范围必定变小, 所以权重肯定升高
- 但最高权位依然起决定作用
不同选择器的权重:
1. 从高到低:
- [base::行内样式] (style="")
- 用权位表示: 1, 0, 0, 0
- ID选择器
- 用权位表示: 0, 1, 0, 0
- 类选择器, 伪类选择器
- 用权位表示: 0, 0, 1, 0
- 元素选择器
- 用权位表示: 0, 0, 0, 1
- 继承 或者
*通配符- 用权位表示: 0, 0, 0, 0
1.1. 说明:
- 权位越左边, 权重越高
- 同权位的权重可以累加, 但不会发生进位
2. 权重的叠加(累加):
2.1. 举例说明:
div ul li⇒ 0, 0, 0, 3.nav ul li⇒0, 0, 1, 2a:hover⇒ 0, 0, 1, 1.nav a⇒ 0, 0, 1, 1
实际应用
1. 人为提升优先级
目标是选择link类的标签:
.link权重为0,0,1,0.link.link.link权重为0,0,3,0
2. 效率提升
- 在vscode中把鼠标悬浮在选择器上,可以查看该选择器的权重