为何 div:hover 样式不能使 p 元素变色?

为何 div:hover 样式不能使 p 元素变色?

div:hover 样式为何对 p 元素无效?

在给出的 html 和 css 代码中,

mmm

悬停时不会变色,而

sss

会变为红色。这是因为:

css 继承

color 是一个继承属性,意味着子元素会继承父元素的 color 值。在这种情况下,p 元素从父元素 div 继承了 yellow 颜色。

hover 优先级

虽然 div:hover 的优先级高于 p,但它只能覆盖 div 本身的样式,而不能覆盖子元素 p。

解决方法

要让 p 在悬停 div 时变色,有两种方法:

针对 p 元素应用 hover 样式:

p:hover {    color: red;}

使用 css 选择器排除非悬停状态的 p 元素:

div:not(:hover) p {    color: yellow;}div:hover {    color: red;}

通过使用这些方法,你可以确保 p 元素在悬停 div 时变为红色,而保持其默认 yellow 颜色。

以上就是为何 div:hover 样式不能使 p 元素变色?的详细内容,更多请关注创想鸟其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1630310.html

赞 (0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
offsetWidth报错:自定义元素和CSS类使用探究
上一篇 2025年12月24日 13:10:50
如何以不同大小写字符时精准计算文本宽度?
下一篇 2025年12月24日 13:11:03

相关推荐

发表回复

登录后才能评论
关注微信