元素会被多个样式一层层作用,这就是层叠样式表的来源。如果多个样式作用在元素上就会产生优先级权重的问题。
零、属性后面使用!important,权重最大,会覆盖页面内任何位置定义的元素样式。
一、内联样式,权重为1000【写在HTML元素的style属性中】
二、ID选择器,权重为0100【非内联样式】
三、类、伪类、属性选择器,权重为0010【非内联样式】
四、标签、伪元素选择器,权重为0001【非内联样式】
五、通配符、子选择器、相邻选择器等,权重为0000【非内联样式】
六、继承的样式没有权重
注意
没有权重 和 权重为0 , 权重为0 的权重比 没有权重 的大,优先级高
1、 选择器中 ID选择器 的权重【a = 数量 * 权重】
2、 选择器中 类、伪类、属性选择器 的权重【b = 数量 * 权重】
3、 选择器中 标签、伪元素选择器 的权重【c = 数量 * 权重】
4、 最终的权重w = a + b + c
运行截图
width:宽度【块级元素的会继承父类的内容宽度contentwidth,】
color:字体的颜色
css样式表的权重关系:内联样式表的权重最大!
内部和外部样式的权重,和书写的前后顺序有关。(放在后面的会把放在前面的样式覆盖掉,覆盖的只是相同属性的样式,不同属性的样式会继续执行。)
!important ->当前声明具有最高权重!
语法:background:red!important
id选择器>class选择器>标签选择器>通配选择器
以下是权重的规则:标签的权重为1,class的权重为10,id的权重为100,以下例子是演示各种定义的权重值:/*权重为1*/
div{
}
/*权重为10*/
.class1{
}
/*权重为100*/
#id1{
}
/*权重为100+1=101*/
#id1 div{
}
/*权重为10+1=11*/
.class1 div{
}
/*权重为10+10+1=21*/
.class1 .class2 div{
}
如果权重相同,则最后定义的样式会起作用,但是应该避免这种情况出现