选择器的优先级(权重)
通过不同的选择器,选中相同的元素 ,并且为相同的样式名设置不同的值时,就发生了样式的冲突。 到底应用哪个样式,此时就需要看优先级了。
- 简单描述:
!important > 行内样式 > ID选择器 > 类选择器 > 元素选择器 >通配选择器 (* )> 继承的样式。
- 详细描述:
- 计算方式:每个选择器,都可计算出一组权重,格式为:(a,b,c)
a : ID 选择器的个数。
b : 类、伪类、属性 选择器的个数。
c : 元素、伪元素 选择器的个数。
例如:
选择器 | 权重 |
---|---|
ul>li | (0,0,2) |
div ul>li p a span | (0,0,6) |
#atguigu .slogan | (1,1,0) |
#atguigu .slogan a | (1,1,1) |
#atguigu .slogan a:hover | (1,2,1) |
- 比较规则:按照从左到右的顺序,依次比较大小,当前位胜出后,后面的不再对比,例如:
(1,0,0) > (0,2,2)
(1,1,0) > (1,0,3)
(1,1,3) > (1,1,2)
- 特殊规则:
- 行内样式权重大于所有选择器。
- !important 的权重,大于行内样式,大于所有选择器,权重最高!