You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过CSS实现:hover触发时为另一元素应用对应样式

CSS实现子元素悬停修改父元素样式方案

你需要的效果可以通过CSS :has() 伪类实现,该特性已在所有主流现代浏览器得到支持:

示例代码

<body>
    <p>Click me</p>
</body>
/* 当body包含处于悬停状态的p元素时,触发body的样式 */
body:has(p:hover) {
    background-color: red;
}

旧浏览器兼容方案

如果需要适配不支持:has()的低版本浏览器,可以通过伪元素模拟背景实现,注意调整页面其他内容的层级避免被伪元素遮挡:

p {
  position: relative;
  z-index: 2;
}
/* 用悬停时生成的全屏伪元素模拟body背景 */
p:hover::before {
  content: "";
  position: fixed;
  inset: 0;
  background-color: red;
  z-index: 1;
}

内容的提问来源于stack exchange,提问作者Tobias H.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 13:45:03