介绍:
当一个元素有多个相互冲突的CSS属性声明时,只有优先级最高的的CSS属性声明会被应用;以此,CSS的优先级一般对只有一个CSS属性声明的元素没意义。元素的多个相互冲突的CSS属性声明如果优先级相同,那么后面的声明将会被应用上。
CSS基础选择器:
根据选择器的优先级,CSS选择器大致可分为3档(依次递增):
1、类型选择器(type selectors)(例如, h1)和 伪元素(pseudo-elements)(例如, ::before)
2、类选择器(class selectors) (例如,.example),属性选择器(attributes selectors)(例如, [type="radio"]),伪类(pseudo-classes)(例如, :hover)
3、ID选择器(例如, #example)
对元素设置的内联CSS样式会覆盖上面所有CSS选择器所赋予的相同属性的样式,因此可视为优先级更高一些(JavaScript对元素CSS操作中的 Element.style
是对元素内联CSS样式的操作)。
!import:
当在一个样式声明中使用一个 !important
规则时,它将覆盖任何其他声明;当两条相互冲突的带有 !important
规则的声明被应用到相同的元素上时,拥有更大优先级的声明将会被采用。
但 !important
样式并不被提倡使用(除非在要覆盖内联CSS样式的情况下),因为其破坏了样式表中的固有的级联规则。
[参考]: https://developer.mozilla.org/zh-CN/docs/Web/CSS/Specificity
网友评论