一、CSS选择器优先级计算的应用场景
当我们通过不同的选择器选中同一个元素时,并且为相同的样式设置不同的值时,就发生了样式的冲突(到底使用哪一个选择器的样式呢),这个时候就需要看选择器的优先级了。简单来说
行内样式>id选择器>类选择器>元素选择器>通配选择器
但是这样简单的排序是不能解决所有的应用场景的,这个时候就需要来计算不同选择器的权重了
二、选择器权重计算
格式:(a,b,c)
a:id选择器的个数
b:类,伪类,属性选择器的个数
c:元素,伪元素选择器的个数
当我们计算出选择器的权重之后,下一步就是比较哪一个权重更大,更有话语权了
三、选择器权重比较
从a开始比较,当前位的权重胜出,不用比较后面的权重了,如果当前位的权重相同,那么就比较下一位,直到比较完,如果比较完之后还是没有分出胜负,那么就采用
后来者居上的原则,也就是后面写的选择器具有更高的优先级
四、特殊情况
1.行内样式大于所有
2.当选择器中的样式值后加了!important之后,这个样式就是最优先的