一、总结
-
层叠优先级
内联样式 > 样式表 > 外部样式表 >
@import
> 浏览器缺省 -
样式表优先级
ID选择器 > (伪)类选择器, 属性选择器 > (伪)元素选择器 > 通配符选择器
-
兄弟、子孙选择器的无权重。也就是与其他选择器一起使用时对整体的优先级无影响。
.parent .child{ color: red; } .child.exact{ color: blue; }
这两个选择器的优先级是一样的(也就是第一个选择器中的子孙选择器对优先级计算无贡献),不过后写的会覆盖先写的
-
!important
标识的优先级最高。多个!Important
按前3点计算相对优先级(业务中避免使用这个!important
,很dirty)
二、注意
-
同优先级的选择器,后定义的覆盖先定义的
-
虽然伪元素的优先级较低,但伪元素选择器会创建新的元素,所以伪元素选择器设置的css会覆盖该伪元素继承而来的css
<!DOCTYPE html> <html> <head> <style> body div:first-child {color: green;} div::first-letter {color: pink;} </style> </head> <body> <div class='div1'> Coding </div> </body> </html>