css 优先级
选择器类型
下面,选择器类型的优先级是递增的:
1、
类型选择器 (例如 h1)
伪元素 (例如 ::before)
2、
类选择器 (例如 .example)
属性选择器 (例如 [type=“radio”])
伪类 (:hover) (LoVe HAte) Link Visited Hover Active
3、
ID选择器 (#example)
通配选择符 (*),关系选择符(+,-,~,’ ’)和否定伪类(:not())对优先级没有影响。
但是(在:not() 内部声明的选择器是会影响优先级)
给元素添加的内联样式 (style = ‘font-weight: bold’)总是会覆盖外部任何样式表的任何样式,因此可以看做具有最高的优先级。
在一个声明样式中使用 !important 规则时,此声明将覆盖任何其他声明。
伪类和伪元素
伪类: 伪类用于选择DOM树之外的信息,或者是不能用简单选择器进行表示的信息。例如 (:visited)
伪元素: 伪元素为DOM树没有定义的虚拟元素。不同于其他选择器,它不以元素为最小选择单元,它选择的是元素指定内容。(::before)
在CSS3中,伪类与伪元素在语法上也有所区别,伪元素修改为以 :: 开头。但因为历史原因,浏览器对以 : 开头的伪元素也继续支持,但建议规范书写为 :: 开头。