为什么 hover 对 p 元素不起作用?
hover 对 p 无效的原因
在提供的代码片段中,div:hover 的优先级确实高于 p,但 hover 却未能对 p 生效。出现这种情况的原因是:
继承属性与指定值
color 是一个继承属性,这意味着子元素(p)会继承父元素(div)的 color 值。因此,即使 p 没有明确设置 color 值,它也会从 div 继承 yellow。
当 div:hover 生效时,它会将 color 值设置为 red。然而,由于 p 已经继承了 div 的 yellow 值,因此它不会受到 div:hover 影响。
解决方法
要让 hover 在 p 上生效,需要明确指定 p 的 color 值,以覆盖继承的值。一种方法是使用 p:hover:
p { color: yellow; } p:hover { color: red; }
还可以使用以下方法,通过防止 div:hover 覆盖 p 的 color 值来实现同样的效果:
p { color: yellow; } div:hover, div:hover p { color: red; }
以上就是为什么 hover 对 p 元素不起作用?的详细内容,更多请关注其它相关文章!