qq_迷途的羊_0
2020-03-03 12:09
其实并不是这样的,我试验了.
11个div嵌套 然后第11个div设置class="el"
下面在使用
.el{
color:red;
}
div>div>div>div>div>div>div>div>div>div>div{
color:green;
}
结果是class优先如果按照上面的话 加11次div权值应该是11大于class的10
其实不能这么说,谁也不可能这么写代码,既然你已经给他命名el了,那你写的时候就不可能用后代选择器了 ,权重只是在正常情况下算的。
选择器优先级(权重) !import>内联样式>id选择器>class选择器>标签选择器>通配符选择器>继承的样式
对于组合选择器不会计算比如 p,h,.i{color:red} p为1 h为1 .i为10
CSS样式选择器分为4个等级,a、b、c、d,可以以这四种等级为依据确定CSS选择器的优先级。
1.a=内联样式
2.b=id选择器数量
3.c=Class类选择器、属性选择器、(当选择器里加了伪类)伪类的数量。(就是说class属性选择器都属于c级别的)
4.d=元素选择器、(当选择器里加了伪元素)伪元素的数量
权重比:计算(a,b,c,d) a>b>c>d
(从左到右 左边最大 0,0,0,0)
比如 2+8=10(0,10,0,0)而不是1,0,0,0
#wrapper #content {} 权重是:0,2,0,0
div#content {} 权重是:0,1,0,1
p {} 权重是:0,0,0,1
初识HTML(5)+CSS(3)-升级版
1225806 学习 · 18234 问题
相似问题