请问为什么em 和 a 的颜色不同 不是应该继承p 元素的颜色吗

请问为什么em 和 a 的颜色不同 不是应该继承p 元素的颜色吗

<p style='color:red'><a href="">a元素</a> <em>em元素</em>


正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

2回答
好帮手慕码 2019-06-03 09:38:09

同学你好!

(1) any-link指的是超链接,前边的-webkit-是谷歌浏览器的前缀。它不是伪类

在之前的问题中a标签没有继承父级p标签的颜色是因为:a标签有浏览器给它的默认颜色,故没有继承(在a标签中,默认大于继承)

(2)下面问题中,同学直接给a标签设置了蓝色,直接设置的样式覆盖了浏览器默认颜色,所以a标签呈现蓝色(直接设置大于默认)

http://img1.sycdn.imooc.com//climg/5cf4794700017c2e04670273.jpg

如果帮助到了你 欢迎采纳 祝学习愉快~



  • 提问者 AXLL #1
    大概懂了吧
    2019-06-03 11:24:40
  • 好帮手慕码 回复 提问者 AXLL #2
    同学你好! 通俗一点讲就是:a标签自己有默认颜色,所以不会继承父级的,除非你直接给a设置颜色,那么它的颜色就是你设置的。em没有默认颜色,所以它继承了父级的颜色 祝学习愉快~
    2019-06-03 11:38:40
  • 提问者 AXLL 回复 好帮手慕码 #3
    多谢 我已明白。
    2019-06-03 14:07:33
好帮手慕码 2019-06-02 11:10:38

同学你好!

层叠样式表的优先级中,浏览器为用户设置的样式优先于开发者(用户本身,就是我们自己)设置的样式。

而浏览器已经为a标签设置了一个默认颜色,所以a标签里的内容没有继承父级p的颜色

http://img1.sycdn.imooc.com//climg/5cf33e1c000110e606870283.jpg

如果帮助到了你 欢迎采纳 祝学习愉快~

  • 提问者 AXLL #1
    我将例子改为<p style='color:red'><a href="">a元素</a> <em>em元素</em></p> CSS文件添加:a{color: blue} 由于原本:any-link 是伪类。 权重为011 CSS文件a权重 是001 a元素为何还是出现蓝色。
    2019-06-02 23:12:02
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师