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 效果:

相关推荐
@大迁世界4 小时前
41.ShadCN 是什么?它如何和 Tailwind CSS 集成,从而更容易构建可访问且可自定义的 React 组件?
前端·javascript·css·react.js·前端框架
梨子同志7 小时前
CSS Grid
前端·css
YOU OU12 小时前
HTML+CSS+JavaScript
前端·javascript·css·html
小彭努力中15 小时前
205.Vue3 + OpenLayers:加载动画,采用 CSS 的 @keyframes 方式
前端·css·vue.js·openlayers·cesium·webgis
爱上好庆祝1 天前
学习js的第七天(wed APIs的开始)
前端·javascript·css·学习·html·css3
gogoing1 天前
CSS 属性值计算过程(Computed Value)
前端·css
2301_815645382 天前
css基础
前端·css
晓得迷路了2 天前
栗子前端技术周刊第 128 期 - Rolldown 1.0、Vitest、Node.js 26.0.0...
前端·javascript·css
之歆2 天前
DAY_17深度博客:CSS 响应式布局 · BFC · JavaScript 完全指南(下)
前端·javascript·css
前端若水2 天前
过渡(transition)高级:贝塞尔曲线、硬件加速
前端·css·css3