权重计算规则
第零等:!important, 大过了其它任何设置。
第一等:代表内联样式,如: style=””,权值为1000。
第二等:代表ID选择器,如:#content,权值为0100。
第三等:代表类,伪类和属性选择器,如.content,权值为0010。
第四等:代表标签选择器和伪元素选择器,如div p,权值为0001。
第五等:通配符、子选择器、相邻选择器等的。如*、>、+,权值为0000。
第六等:继承的样式没有权值。
计算规则:
!important 和内联样式style都属于不讲理的那种,
只要存在 !important,!important便具有最高优先级;
如果不存在 !important,存在style,那么style便具有最高优先级;
剩下的 “ID” 、 “类,伪类和属性” 、 “元素类型和伪元素“ 分别对应 权重值(0-a-b-c)中的 a/b/c;计算方法如下:
* /* a=0 b=0 c=0 -> specificity = 0-0-0-0 */
LI /* a=0 b=0 c=1 -> specificity = 0-0-0-1 */
UL LI /* a=0 b=0 c=2 -> specificity = 0-0-0-2 */
UL OL+LI /* a=0 b=0 c=3 -> specificity = 0-0-0-3 */
H1 + *[REL=up] /* a=0 b=1 c=1 -> specificity = 0-0-1-1 */
UL OL LI.red /* a=0 b=1 c=3 -> specificity = 0-0-1-3 */
LI.red.level /* a=0 b=2 c=1 -> specificity = 0-0-2-1 */
#x34y /* a=1 b=0 c=0 -> specificity = 0-1-0-0 */
#s12:not(FOO) /* a=1 b=0 c=1 -> specificity = 0-1-0-1 */