CSS的优先级规则有两类
1.位置群组规则
最高优先级为元素内嵌的style样式,如<div style=” “></div>
次高优先级为html头部中的<style>标签里面的样式
第三高优先级为通过头部<style>里面@import导入的样式表
第四优先级为通过<link>标签外链的样式表
第五优先级为<link>标签外链的样式表中通过@import导入的样式表
最低优先级为浏览器默认样式;
2.选择符群组规则
在同一位置群组中CSS的优先级将遵循选择符群组规则:
内嵌的style > id选择器 > 类选择器 > 标签选择器 > 通配符选择器*
可以假设:
style的权重为1000
id选择器权重为100
类选择器(类和伪类)的权重为10
标签选择器(元素和伪元素)的权重为1
通配符*为0
有三点需要注意:
1.位置群组将优先作用,在相同的位置输入多个样式或绑定多个样式表的时候,他们的绑定顺利决定了他们的优先级,后绑定的样式表会覆盖前面的样式表
2.!important拥有超越位置群组的最高优先级,不过如果不同的位置群组两个样式群组分别定义了!important,则位置群组将发挥作用;
<head><style type=”text/css”>.right{ color00F!important;}</style></head>
<body><div style=”colorF00!important;”> 例子例子例子 </div></body>
文字将显示为红色(#F00)
3.在IE6中,a:hover伪类的权重大于类,所以不要使用会产生兼容性的写法