这是一个常见的问题。它几乎总是作为这个问题的副本立即关闭: Is there a CSS parent selector?
副本很好地指出父元素不能用 CSS 定位。但它对原始问题几乎没有提供任何指导,这可能会陷入 XY 问题。
在这种特殊情况下……
悬停子项时如何更改父项的背景颜色?
…至少有一种 CSS 解决方案可以解决问题。
<div>
<a href="#">Anchor Text</a>
</div>
原文由 Michael Benjamin 发布,翻译遵循 CC BY-SA 4.0 许可协议
仅使用
pointer-events
和:hover
指针事件的兼容性: caniuse.com 。经测试可在 IE 11 和 Edge、Chrome 和 Firefox 上运行。
pointer-events: none
。 div 现在将忽略:hover
。pointer-events: auto
以便仅在孩子悬停时触发悬停事件这是有效的,因为 div 在它的孩子悬停时悬停,并且指针事件仅在那个孩子上用
auto
激活。否则父类会忽略它的 hover 伪类。例子