问答详情
源自:9-3 权值计算-特殊性

为什么是紫色的字

p span{color:purple;} 权值不应该是1+1=2吗? .first{color:green;}权值为10 、 为什么字体变成了权值更小的紫色了呢

提问者:麻川 2016-11-19 10:46

个回答

  • 慕粉4297986
    2016-11-23 15:38:04

    我觉得这里面最大的问题是,楼主忽略了继承,第一段中的<span>在没有被直接赋予css样式时,权值是按照楼主这样计算的,当<span>被直接赋予css样式时,.first的权值在对<span>影响时就变成了继承(权值为0.1),所以颜色才会变成紫色。

    其实我也是在学习中遇到跟你一样的疑问,仔细研究后得出的结论。

  • zzluyao
    2016-11-19 16:00:27

    在说下主体。 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的元素。故没有比较权重的说法。

  • zzluyao
    2016-11-19 15:45:39

    权值没问题。 颜色字体等某些属性是具备默认继承属性的(屁话)。 10权值为设置p标签的样式颜色为pink,ok 其子元素默认继承该颜色,现在在给子元素span 权重为2设置purple ok也是没问题的。

    最后说下你比较的权值。前提是同一个元素

  • stone310
    2016-11-19 14:53:37

    1楼正解,权值叠加,不要光看权值,<span>是在.first里面的标签,子元素的权值一定比父元素的权值高

  • 张翔宇web
    2016-11-19 11:03:36

    不应该啊    是不是你写错了  看看,first是不是少写了什么了。

  • 慕粉4229687
    2016-11-19 11:03:01

    因为p span{color:purple;} ,purple是 紫色。first{color:green;}以p span{color:purple;}为重

  • kz_java
    2016-11-19 11:01:53

    标签嵌套 权值累加