css权重由高到低分别是
- 在属性后面使用 !important 会覆盖页面内任何位置定义的元素样式
- 作为style属性写在元素标签上的内联样式
- id选择器
- 类选择器
- 伪类选择器
- 属性选择器
- 标签选择器
- 通配符选择器
- 浏览器自定义
计算
从0开始,一个行内样式+1000,一个id+100,一个属性选择器/class或者伪类+10,一个元素名,或者伪元素+1。
例如:
*{} ====》0 li{} ====》1(一个元素) li:first-line{} ====》2(一个元素,一个伪元素) ul li {} ====》2(两个元素) ul ol+li{} ====》3(三个元素) h1+ *[rel=up]{} ====》11(一个属性选择器,一个元素) ul ol li.red{} ====》13(一个类,三个元素) li.red.level{} ====》21(两个类,一个元素) style="" ====》1000(一个行内样式) p {} ====》1(一个元素) div p {} ====》2(两个元素) .sith {} ====》10(一个类) div p.sith{} ====》12(一个类,两个元素) #sith{} ====》100(一个ID选择器) body #darkside .sith p {} ====》112(1+100+10+1,一个Id选择器,个类,两个元素)
来源:https://www.cnblogs.com/birdofparadise/p/9337430.html