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

.first{color:green;}权值最大,span{color:pink;}权值为1,那为什么显示的是粉红色呢?

正在回答

28 回答

亲,.first{color:green;}是为第一段设置为绿色,当没有span{color:pink;}这条语句时,span会也会显示为green,是因为span继承了.first中的绿色,但当设置了span{color:pink;}这条语句后,span就是会复盖上面继承下来的绿色,因为继承的权值你可以理解是最低的,有的文献中说继承的权值只有0.1。

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

折叠幸福

是不是因为浏览器引擎是覆盖式渲染的?
2014-09-15 回复 有任何疑惑可以回复我~
#2

孟玉珏

如果现有这句话span{color:pink;}/*设置为粉色*/,再有将第一段设置为绿色。也就是span{color:pink;}/*设置为粉色*/这条语句写在所有设置样式的前面。结果还是一样?是因为标签的权值大于继承的权值所致吗?
2015-05-19 回复 有任何疑惑可以回复我~
#3

wangyt

span 继承过来的权值为0.1,span自身的权值为1,1>0.1所以显示span自身的样式。
2015-06-16 回复 有任何疑惑可以回复我~
#4

赚钱娶媳妇儿

茅塞顿开
2015-09-24 回复 有任何疑惑可以回复我~
#5

DIMDD 回复 wangyt

不错 懂了
2015-11-01 回复 有任何疑惑可以回复我~
#6

qq_放纵你江湖_0

很棒的问题
2015-11-09 回复 有任何疑惑可以回复我~
#7

toofirst 回复 wangyt

hao
2016-02-27 回复 有任何疑惑可以回复我~
#8

leihehh

是不是可以理解成如果单独为子元素设置样式的话就执行该设置样式?
2016-03-27 回复 有任何疑惑可以回复我~
#9

qincai

还是没明白。。。。既然这样又为什么要比较权值呢,直接就近解释样式不就行了
2016-03-27 回复 有任何疑惑可以回复我~
#10

little_jian_7 回复 qincai

比较权值是用在相同标签的情况下
2016-04-06 回复 有任何疑惑可以回复我~
#11

little_jian_7 回复 qincai

优先级是圈值相同情况下才使用的
2016-04-06 回复 有任何疑惑可以回复我~
#12

阮肥 回复 wangyt

<span>标签包含在<p>标签内,所以设置<p>为绿色,所以<span>标签继承了first中的绿色,权值最低为0.1;而单独设置span{color:pink;},权值为1,所以显示粉色。
2016-05-05 回复 有任何疑惑可以回复我~
#13

qq_迷途少年_0 回复 阮肥

就是说span标签没有继承自p标签样式,而span标签继承自.first标签样式,.first标签继承自p标签样式,对吧
2016-05-18 回复 有任何疑惑可以回复我~
#14

qq_迷途少年_0 回复 阮肥

span样式也继承了p样式的
2016-05-18 回复 有任何疑惑可以回复我~
#15

qq_我自是年少_03426975 回复 wangyt

我感觉也是这样
2016-06-02 回复 有任何疑惑可以回复我~
#16

一个不可能大的Haoson3550710

茅厕顿开
2016-06-29 回复 有任何疑惑可以回复我~
#17

霍丶

继承啊 权值也继承啦 加上 span标签的权值为1 永远是大于父元素的啊
2016-07-31 回复 有任何疑惑可以回复我~
#18

慕瓜3177915 回复 wangyt

应该是2>0.1呀
2016-08-12 回复 有任何疑惑可以回复我~
#19

墨小漓 回复 孟玉珏

是的。在css中交换一下选择器的位置并不影响继承,也不会影响他们的权值。他们的权值在写入css后就确定下来了。
2016-08-16 回复 有任何疑惑可以回复我~
#20

落叶萧萧online

懂了,要不然还以为是就近原则呢
2017-09-19 回复 有任何疑惑可以回复我~
查看19条回复

span继承.first权值只有0.1      而当前span的值是1     当然是粉色啦

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

还是不是很明白,

p{color:red;}

.first{color:green;}/*因为权值高显示为绿色*/

span{color:pink;}/*设置为粉色*/

p>span{color:purple;}

这些里面.first的权值最高,所以虽然p{color:red;}语句把文字都设置成红色了。第一段还是变成了绿色。那为什么后面两个语句会把.first的设置覆盖掉?


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

膜拜楼上大神。。。

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

@风早君418        直接写span{color:purple;},按照就近原则,也可以将“胆小如鼠”变为紫色,这没错,但不能就认为写在 p span{color:purple;}前的span{color:pink;}没用了,就近原则是建立在权重一样的条件下的(见第七章7-4),所以在这里,对‘胆小如鼠’而言: p{color:red;}权重为0.1; .first{color:green;}权重为0.1; span{color:pink;} 权重为1; p span{color:purple;}权重为2;2>1>0.1,所以‘胆小如鼠’是紫色,这里老师好像还还没讲,后代选择器可以用在标签上,实例里只给了类选择器,欢迎大家指正

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

仔细看一下我们就会发现:

首先,类选择符.first的样式是赋予<p class="first">标签,那么对于<span>标签来说只是继承关系而已,因此.first对<span>的权值仅有0.1;

再看span{color:pink},这是一个标签选择器,它针对的就是<span>标签没异议,那么标签选择器对<span>的权值只有1;

这样我们就方便了,只要对<span>的权值大于1,就可以覆盖掉上面两个样式。

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

<span>胆小如鼠<span/>是<p>的子标签,这就表示它的权值只是继承性的,而不是<p>的权值,而继承来的权值一般为最低(0.1),权值没有比<span>(1)的大,<span>优先显示了就。

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

果果我爱你

我也不知道自己想的这个对不对,觉得不专业。有哪位大牛看见了不对的,麻烦打我的脸,狠狠地抽,奇摸鸡~
2016-10-22 回复 有任何疑惑可以回复我~

.first p span{color:purple;}这样的权值不应该是最高的吗?

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

就近原则,谁离得近,听谁的。就像css样式的内联式、嵌入式和外部式优先级一样。

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

span{color:purple;}写成这也是紫色,感觉和权值没有关系

0 回复 有任何疑惑可以回复我~
首页上一页123下一页尾页

举报

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

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

进入课程
意见反馈 帮助中心 APP下载
官方微信