CSS优先级是指CSS样式在浏览器中被解析的先后顺序。
比较CSS优先级的一种简单的方法就是给不同的选择器分配一个数值。然后,将规则的每个选择器的值加在一起,计算出规则的优先级。但是优先级不是的计算不是以10为基数的,而是采用一个更高的未指定的基数。这能确保非常特殊的选择器(如ID选择器)不会被大量的一般选择器(如类型选择器)超越。不过有时候为了简化,如果一个特定选择器中的数量少于10个,可以以10为基数来计算优先级。
选择器的优先级分成为4个成分等级:a,b,c,d
1.如果样式是行内样式,那么 a=1;值为:1,0,0,0
2.b等于ID选择器的总数;值为:0,1,0,0
3.c等于类、伪类和属性选择器的数量;值为:0,0,1,0
4.d等于标签选择器和伪元素选择器的数量。值为:0,0,0,1
统计的时候计算各类选择器的个数,根据结果可得出优先级的高低。
如:
h2{color:blue;} 值为0001
#content{color:#666;} 值为0100
p .test{color:#ccc;} 值为1+10=0011
#main div .test{color:red;} 值为100+1+10=0111
div #main .left #nav{color:#000} 值为1+100+10+100=0211