What:什么是CSS权重
CSS权重指的是样式的优先级,有两条或多条样式作用于一个元素,权重高的那条样式对元素起作用,权重相同的,后写的样式会覆盖前面写的样式。
权重的等级
可以把样式的应用方式分为几个等级,按照等级来计算权重
1、!important,加在样式属性值后,权重值为 10000
2、内联样式(在标签里),如:<p style=””></p>,权重值为1000
3、ID选择器,如:#content,权重值为100
4、类(class),伪类和属性选择器,如: content、:hover 权重值为10
5、标签选择器和伪元素选择器,如:div、p、:before 权重值为1
6、通用选择器(*)、子选择器(>)、相邻选择器(+)、同胞选择器(~)、权重值为0
权重规则
- 包含更高权重选择器的一条规则拥有更高的权重。
- ID 选择器的权重比属性选择器高。
- 带有上下文关系的选择器比单纯的元素选择器权重要高。
- 与元素
挨得近
的规则生效,html 中规则的比 CSS 文件的优先。 - 最后定义的这条规则会覆盖上面与之冲突的规则。
- 无论多少个元素组成的选择器,都没有一个class选择器权重高。
- 通配符选择器也有权重,权重被认为是 0。
永远都不要使用 !important
。
参考文档:简书