p span{color:purple;} 权值不应该是1+1=2吗? .first{color:green;}权值为10 、 为什么字体变成了权值更小的紫色了呢
我觉得这里面最大的问题是,楼主忽略了继承,第一段中的<span>在没有被直接赋予css样式时,权值是按照楼主这样计算的,当<span>被直接赋予css样式时,.first的权值在对<span>影响时就变成了继承(权值为0.1),所以颜色才会变成紫色。
其实我也是在学习中遇到跟你一样的疑问,仔细研究后得出的结论。
在说下主体。 p 元素内的所有span元素。 类名是first的元素。不是同一个对象,你比较权值的没有任何意义。
修改下。 <div class="first">11<div>22<span>注意我的颜色哦<span></div></div>
div div{color:purple;} .first{color:green;}。现在看下 这个span的内字体的颜色!。加粗的div是span的父级。都没有直接对span设置颜色的样式故继承父级字体颜色。div的后代div元素,符合span父级的设置条件。 而第二个.first 类名为为.first的元素。故没有比较权重的说法。
权值没问题。 颜色字体等某些属性是具备默认继承属性的(屁话)。 10权值为设置p标签的样式颜色为pink,ok 其子元素默认继承该颜色,现在在给子元素span 权重为2设置purple ok也是没问题的。
最后说下你比较的权值。前提是同一个元素
1楼正解,权值叠加,不要光看权值,<span>是在.first里面的标签,子元素的权值一定比父元素的权值高
不应该啊 是不是你写错了 看看,first是不是少写了什么了。
因为p span{color:purple;} ,purple是 紫色。first{color:green;}以p span{color:purple;}为重
标签嵌套 权值累加