CSS样式表的优先级从高到低为:
1、内联样式(html元素内)
2、内部样式表(head标签内)
3、外部样式表(link标签指向的样式表)
4、浏览器/用户代理的缺省设置
!important关键字标记的样式,将拥有最高优先级
同一元素,被多个规则设定样式,则根据选择器的特殊性决定规则的优先级,更特殊的选择器的优先级高于一般选择器,如果两个选择器的特殊性相同,则后定义的生效。
选择器的特殊性分为4个成分等级,a、b、c和d
1、如果是内联样式,则记a=1;
2、ID选择器 的数量记为b;
3、类选择器、伪类和属性选择器 的数量记为c;
4、类型选择器和伪元素选择器 的数量记为d;
a为千位,b为百位,c为十位,d为个位,组成的特殊性数值表如下:
选择器 | 特殊性数值 |
sytle="" | 1,0,0,0 |
#parent #child {} | 0,2,0,0 |
#content .active {} | 0,1,1,0 |
div#content {} | 0,1,0,1 |
#content {} | 0,1,0,0 |
div.active .selected {} | 0,0,2,1 |
.active .selected {} | 0,0,2,0 |
div p {} | 0,0,0,2 |
p {} | 0,0,0,1 |
以特殊性属性组成的4位数的大小排列优先级,数值越大,优先级越大。