CSS各种选择器的权重:
1.ID选择器 +100
2.类、属性、伪类选择器 +10
3.元素、伪元素选择器 +1
4.其他选择器 +0
如果有两个CSS样式都作用于某元素,如:
#id .link a[href] ----- #id(100) + .link(10) +a(1) + [href](0) = 111
#id .link.active ----- #id(100) + .link(10) + .active(10) = 120
显然,下面的权重比上面的高,那么如果有相同的样式属性,下面的会覆盖掉上面的
需要注意的是,如果有:
#id
.c1.c2.c3.c4.c5.c6.c7.c8.c9.c10.c11
即使下面的算出来的值要比上面的大,但是上面的优先级依然比下面的高
补充:
!important 的优先级最高;
内联样式比在样式表写的样式优先级高;
相同权重的后写的优先级更高