我们在书写代码时,有时会出现不起效果,那么此时要么是代码本身存在问题,要么就是存在优先级问题。今天的文章主要介绍下优先级的算法。
选择器的优先级顺序是由各个选择器的权重决定的。具体如下表:
选择器 | 权重值 |
---|---|
!important | infinity(无穷大) |
行内样式 style" " | 1000 |
id选择器 | 100 |
class类选择器、属性选择器、伪类选择器 | 10 |
标签(元素)选择器 | 1 |
通配符(*)选择器 | 0 |
其实权重是有4组数字组成的,上表上的权重值,是我为了方便大家记忆和理解而写的具体值。
通过上面的代码演示,可以得到单个选择器之间的优先级顺序如下:
!important >内联样式> id选择器> class类选择器 > tag(标签选择器)
在我们实际开发中,经常使用复合选择器,此时则会有权重叠加,需要计算权重。
复合选择器权重的叠加就是简单的相加,比如一个类选择器+标签选择器,那么他们的权重就是10+1=11;再比如一个id选择器+标签选择器,那么他们的权重就是100+1=101,以此类推!
因此,首先要明确各个选择器的权重值,这样使用复合选择器时就能通过相加得到其权重值。在实际开发中,一定要注意考虑css的优先级,避免所设置的样式无效。