总结优先级:
1.使用了!important声明的规则
2.内嵌在HTML元素的style属性里面的声明
3.使用了id选择器的规则
4.使用了类选择器、属性选择器、伪元素和伪类选择器的规则
5.使用了元素选择器的规则
6.只包含一个通用选择器的规则
7.同一类选择器遵循就近原则
表格展示:
继承或者*的贡献值 | 0.0.0.0 |
每个元素(标签)的贡献值 | 0.0.0.1 |
每个类,伪类贡献值 | 0.0.1.0 |
每个ID贡献值 | 0.1.0.0 |
每个行内样式贡献值 | 1.0.0.0 |
每个!important贡献值 | 无穷大 |
注意:
div ul li -----------> 0.0.0.3
.nav ul li ------------> 0.0.1.2
a:hover -------------->0.0.1.1 (注意)
.nav a --------------->0.0.1.1
#nav p ---------->0.1.0.1
没有进位的说法,即不是进制
<!DOCTYPE html>
<html>
<head>
<title>权重</title>
<style type="text/css">
.father{
color: red;
}
p{
color: orange;
}
</style>
</head>
<body>
<div class="father">
<p>你猜是哪个颜色啊?</p>
<!-- 注意这个颜色显示的是orange,而不是father里面定义的red,即使father权重高,但是p属于继承father,所以对于p来说权重为0 -->
</div>
</body>
</html>