问答详情
源自:8-10 给选择器分个组 - 分组选择器

CSS权值

<body>

<style type="text/css">

h1,span{color:red;}

.first,#second span{color:green;}

</style>


    <h1>勇气</h1>

    <p class="first">三年级时,我还是一个<span>胆小如鼠</span>的小女孩,上课从来不敢回答老师提出的问题,生怕回答错了老师会批评我。就一直没有这个勇气来回答老师提出的问题。学校举办的活动我也没勇气参加。</p>

    <p id="second">到了三年级下学期时,我们班上了一节公开课,老师提出了一个很<span>简单</span>的问题,班里很多同学都举手了,甚至成绩比我差很多的,也举手了,还说着:"我来,我来。"我环顾了四周,就我没有举手。</p>

    <img src="http://img.mukewang.com/52b4113500018cf102000200.jpg" >

</body>


按理说 .first  的 权值 要高于 span ,可为什么   <p class="first">三年级时,我还是一个<span>胆小如鼠</span> 这里还是红色red,而不是绿色green呢?

提问者:ORead 2016-01-27 23:27

个回答

  • 梁仕源
    2016-01-27 23:52:22
    已采纳

    问题应该出在分组选择符 .first,#second span 上面,对于分组选择符合,需要先拆分为两个.first{ }和#second span{}去计算权值。你看.first{ color:green;}运行后,里面的span后代标签继承了.first的样式,所以算为继承的权值0.1,同理,上面h1,span{color:red;}拆分为两个标签去计算权值是span{color:red;}是1;1>0.1,所以显示红

  • 慕圣2475391
    2016-01-27 23:46:59

    9-2节:注意部分:还有一个权值比较特殊--继承也有权值但很低,有的文献提出它只有0.1,所以可以理解为继承的权值最低。设置为绿色是设置的p标签,span属于继承,所以权值不是你理解的10而应该是0.1,所以不会变为绿色啦。


  • 梁仕源
    2016-01-27 23:43:44

    我也看了,也搞不懂