为了账号安全,请及时绑定邮箱和手机立即绑定

权值问题,没计算明白,求解答

p{color:red;}

.first{color:green;}

p>span{color:purple;}

span{color:pink;}

第一行权值为1,第二行权值为10,第三权值为2,第四行权值为0.1,为啥显示的是紫色?而不是绿色?难道是在类选择器的基础上在进行包含选择,所以权值为12 ,显示紫色么?不是很明白权值的计算操作


正在回答

6 回答

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

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

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

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

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

个人理解   错误请纠正

0 回复 有任何疑惑可以回复我~

别去纠结了 ,先往后面学,就算是不会等你开发的时候又不得非要这样子

1 回复 有任何疑惑可以回复我~

span用了后代选择器,p中所有的span都是紫色的

0 回复 有任何疑惑可以回复我~

额,那个第三个是子代选择器,它的权值高于同一级其他的,具体的可以参照CSDN的这篇文章https://blog.csdn.net/MYTLJP/article/details/78208465

0 回复 有任何疑惑可以回复我~
#1

肥宅风见啸

也不能叫其他的,应该说是略高于基本选择器
2018-07-22 回复 有任何疑惑可以回复我~

第三行写错了,所以权值也不是2,第三行应该写为p span{color:purple;}才行

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
初识HTML(5)+CSS(3)-升级版
  • 参与学习       1222197    人
  • 解答问题       18206    个

HTML(5)+CSS(3)基础教程8小时带领大家步步深入学习标签用法和意义

进入课程

权值问题,没计算明白,求解答

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信