专注于WEB前端开发,HTML基础知识,CSS基础知识,HTML5和CSS3,Javascript,Jquery,Jquery插件,移动开发,微信开发等技术话题

当前位置:CSSTOP主页 > CSS属性 > 正文

CSS优先权

CSS优先权

选择器的特殊性(优先权)由选择器本身的组件确定。特殊性的值表述为4个部分,如:0、0、0、0。

一个选择器的具体特殊性如下确定:

  • 对于选择器中给定的各个ID属性值:加0、1、0、0。
  • 对于选择器中给定的各个类属性值、属性选择器或者伪类,加0、0、1、0.
  • 对于选择器中给定的各个元素和伪元素,加0、0、0、1.伪元素是否有特殊性?在这方面CSS2有些自相矛盾,不过CSS2.1很清楚的指出,伪元素有特殊性,而且特殊性为0、0、0、1。
  • 结合符和通配符选择器对特殊性没有任何贡献。
  • 内联样式声明:加1、0、0、0。
  • 重要性声明!important的优先权高于任何非重要声明。

例如:一下规则中选择器的特殊性见注释:

h1{color:red;}	/* specificity = 0、0、0、1 */
p em{color:purple;}	/* specificity = 0、0、0、2 */
.code{color:blue;}	/* specificity = 0、0、1、0 */
* .note{color:red;}	/* specificity = 0、0、1、0 */
p.note em.dark{color:maroon;}	/* specificity = 0、0、2、2 */
#main{color:#333;}	/* specificity = 0、1、0、0 */
div#sidebar *[href]{color:silver;}	/* specificity = 0、1、1、1 */