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

为什么后面的规则没有覆盖前面的?

有两个规则①h1,span{color:red;}②.first,#second>span{color:green;}

第二条规则.first已经包含了第一段所有元素,为何第一段<span>元素还是显示红色?也就是说为何第二条规则没能覆盖第一条规则?

正在回答

2 回答

这代码有点意思,不是没有覆盖,而是你没写到,你把后面那个改成.first>span,#second>span{...};这样就能达到你要的效果了

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

键步如飞 提问者

直接改不行,得增加才行,也就是第二条规则直接写成first,.first>span,#second>span{color:green;} 刚刚才想到,原因是<span>和<p>是两个独立的元素,而不是附属关系:)
2015-08-06 回复 有任何疑惑可以回复我~
#2

六月时光 回复 键步如飞 提问者

不行吗?我试来是可以的哦
2015-08-06 回复 有任何疑惑可以回复我~

http://img1.sycdn.imooc.com//55c2fc7600010f4f14020370.jpg你不是要这样的效果吗?

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

键步如飞 提问者

不是,要求是第一段整段字都是绿色
2015-08-07 回复 有任何疑惑可以回复我~
#2

六月时光 回复 键步如飞 提问者

o哦哦,这样啊,我还以为你是想把两个span里的都弄成绿色呢
2015-08-07 回复 有任何疑惑可以回复我~
#3

键步如飞 提问者 回复 六月时光

是课程要求第一段整段都整成绿色.我试了下只有删除第一个span规则才能使.first应用于整段.或者增加first>span规则.让我不明白的是为何.first不能覆盖前面的span规则,只能删除后者才能使段中的span也生效.
2015-08-07 回复 有任何疑惑可以回复我~
#4

六月时光 回复 键步如飞 提问者

你的理解有点问题,他是先把first的样式加上去,然后再加上span的样式的,所以不是.first的样式覆盖span的样式,而是span的样式覆盖了.first的样式。因为网页加载时,是先加载了<p>之后在加载里面的<span>的样式,所以只能是span覆盖first的样式,而不能first的样式覆盖span的
2015-08-10 回复 有任何疑惑可以回复我~
#5

键步如飞 提问者 回复 六月时光

明白了,谢谢你:)
2015-08-14 回复 有任何疑惑可以回复我~
#6

古叉 回复 六月时光

这个和权值在一起又让我搞混了。 权值不是,标签1,类选择10,id100么?如果有了加载顺序,权值就没必要考虑了吗?可是感觉区分不开啊。
2015-09-22 回复 有任何疑惑可以回复我~
查看3条回复

举报

0/150
提交
取消

为什么后面的规则没有覆盖前面的?

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