CSS - 子元素 hover 鼠标悬浮时避免触发父元素的 hover 效果

场景复现

html 复制代码
<style>
.cover:hover {
  background: yellow;
}
</style>

<div class="size-20 bg-black cover">
  <div class="size-10 bg-blue cover"></div>
</div>

如上代码当子元素 hover 时会同时触发父元素的 hover 效果,如下所示:

解决方案

html 复制代码
<style>
.cover:hover:not(:has(.cover:hover)) {
  background: yellow;
}
</style>

<div class="size-20 bg-black cover">
  <div class="size-10 bg-blue cover"></div>
</div>

使用 :not :has 伪类选择器控制即可,如下所示,当子元素 hover 状态下不会同时触发父元素的 hover 效果:

相关推荐
ZC跨境爬虫2 小时前
跟着 MDN 学CSS day_37:(从文档流到粘性定位的底层原理)
前端·javascript·css·ui·html
ZC跨境爬虫3 小时前
跟着 MDN 学CSS day_40:(Flexbox实战技能测试)
前端·css·ui·html·tensorflow
ZC跨境爬虫3 小时前
跟着 MDN 学CSS day_36:(float、clear与BFC深度解析)
前端·javascript·css·ui·交互
用户059540174466 小时前
把 AI Agent 记忆验证从手工比对换成 Pytest + 向量数据库,测试效率提升 10 倍
前端·css
Xp021911037 小时前
知网研学、万方、WPS、大以论文四大排版工具横评,新用户免费排版等你领!
前端·css·html·生活·wps·论文排版
ZC跨境爬虫8 小时前
跟着 MDN 学CSS day_42:等分轨道、层叠放置与混合布局
前端·javascript·css·ui·html
ZC跨境爬虫18 小时前
跟着 MDN 学CSS day_39:(Flexbox 弹性盒子核心机制)
前端·css·ui·html·tensorflow
yivifu1 天前
CSS 自动级联编号有序列表完全指南
前端·css·c#·html·有序列表·级联编号
用户059540174461 天前
用LangChain+FastAPI构建私有知识库踩坑实录:这3个问题让我排查了整整8小时
前端·css
Momo__1 天前
CSS View Transitions 新语法:sibling-index() + ident(),千级元素命名难题的终局方案
前端·css