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

这里有疑问

不应该是绿色吗?

.first的权值更高才对呀

.first{}不是应该权值为10吗

p span{}不是2吗   

表示没看懂。

提问者:qq_挖哈哈_0 2018-07-26 10:21

个回答

  • qq_生活不允許你的軟弱_311
    2018-08-15 11:15:48

    在不定义span的css样式时,span会继承p父元素的css样式,开始的时候定义了span的css样式为紫色,所以span胆小如鼠才会显示为紫色,然后用p span{color:purple;}定义span的css样式,在此时他的权值为2,而span{color:pink;}权值为1,所以span标签会显示为紫色。

  • qq_分流_0
    2018-08-14 09:31:39

    先比较范围若范围不一样则以小范围优先若范围一样比较权值 权值大优先 权值一样内联式优先

    比如p>span这个子选择器的意义是p标签的第一代子标签<span>全为紫色我们先来看范围

    这个p>span标签的范围和上面span的作用范围一样所以比较权值明显看出前者大所以为紫色

    再看p和.first范围一样比较权值明显.first大所以整体为绿色

    又因为span的作用范围小所以颜色不受大范围的标签控制

    个人理解   错误请纠正


  • qq_分流_0
    2018-08-13 21:24:20

    我的见解是这样的

    先比较范围若范围不一样则以小范围优先若范围一样比较权值 权值大优先 权值一样内联式优先


  • 20180813
    2018-08-13 14:16:43

    .first{}对象是p标签,span只是继承了p的样式权值应该是0.1吧,p span{}权值是2没错

  • 上善ruo水
    2018-08-02 17:23:31

    个人认为绿色只匹配在<p>标签里,在没加“p span{color:purple;}”语句前,<span>只是继承,权值应该是1+0.1=1.2。为粉色;加上后权值为1+1+0.1=2.1。为紫色;

  • 慕先生041531
    2018-07-27 08:52:43

    楼上正解

  • 慕设计5074827
    2018-07-26 10:40:29

    p的权值1,.first的权值为10。但是.first赋值于P,所以p span{}的权值是10+1=11

  • 慕无忌6526156
    2018-07-26 10:31:24

    !important是独立于此规则的最高权限。