编写CSS代码时,常会遇到多个样式规则作用于同一个元素的情况,根据CSS选择器的特殊性,可以确定该元素会适用哪一条规则。
顺序
继承<通配选择器<属性选择器=类选择器<ID选择器<内联样式<重要规则
继承
继承即后代元素将继承其父元素的属性(大多数框模型属性不能继承,如:外边距,内边距,背景和边框),继承的值没有特殊性,甚至连0的特殊性都没有,即0特殊性要大于继承的无特殊性。
通配选择器
通配选择器对一个选择器的特殊性没有贡献,换句话说,通配选择器的特殊性为0,0,0,0。意思就是如果一个选择器中包含通配选择器和其他选择器,那么该选择器的特殊性不会因为通配选择器的出现而改变。
属性选择器
属性选择器为选择器的总特殊性贡献为0,0,1,0
类选择器
类选择器的特殊性贡献与属性选择器相当,都为0,0,1,0
ID选择器
ID选择器的特殊性贡献要高于以上,为0,1,0,0,即ID选择器声明的属性,优先级要高于类选择器和属性选择器。
内联样式
内联样式:
<h1 style ="color; green; ">The Meadow Party</h1>
这哥片段中的style为内联样式,他的特殊性要大于其他声明,为1,0,0,0
重要规则
有时候某个声明非常重要,超过了其他所有声明,CSS2.1称为重要声明,在这些声明的结束分号之前插入!important
来标志这是一个重要规则,且每个声明后都需要一个!important
才行,包含了重要规则的声明优先级是最高的。