慕沐4974640
2018-07-10 08:51
我看到好几个回答别人的问题都理解的不对,怕是误人子弟了。
p{color:red;} /*继承权值0.1*/
.first{color:green;}/*类选择器权值高显示为绿色*/
span{color:pink;}/*元素标签1为粉色*/
p span{color:purple;}/*权值为2*/
</style>
这样子理解对的吗?
后代选择器 和继承是两个概念吧
先比较范围若范围不一样则以小范围优先若范围一样比较权值 权值大优先 权值一样内联式优先
比如p>span这个子选择器的意义是p标签的第一代子标签<span>全为紫色我们先来看范围
这个p>span标签的范围和上面span的作用范围一样所以比较权值明显看出前者大所以为紫色
再看p和.first范围一样比较权值明显.first大所以整体为绿色
又因为span的作用范围小所以颜色不受大范围的标签控制
个人理解 错误请纠正
那个第一行权值不应该是1吗
在第一段中作用域p span<=span<.first<=p,局部作用域p span 等于span,但整体作用域p span小于span,.first与p同理,作用域相对小(权值大)的起作用(可理解为同一层级不同权值)。局部作用域相等,整体作用域相等或无法判定(可理解为同一层级同一权值)采用就近原则,个人理解
.first{color:green;}的权值最高,为什么胆小如鼠是紫色,而不是绿色的呢?
对的,后代选择器是选择器的一种,而继承是把作用域范围比较大的作为父级.而作用域比较小的作为子级,如果子集的标签属性不与父级冲突,则会应用父级属性.
初识HTML(5)+CSS(3)-升级版
1225314 学习 · 18230 问题
相似问题