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

相关推荐
程序猿_极客38 分钟前
【期末网页设计作业】HTML+CSS+JavaScript 蜡笔小新 动漫主题网站设计与实现(附源码)
前端·javascript·css·html·课程设计·期末网页设计
自由日记2 小时前
实例:跳动的心,火柴人
前端·css·css3
李贺梖梖3 小时前
CSS学习
前端·css
2501_918126918 小时前
用html5写一个打巴掌大赛
css·css3·html5
常常不爱学习8 小时前
Vue3 + TypeScript学习
开发语言·css·学习·typescript·html
街尾杂货店&10 小时前
CSS - transition 过渡属性及使用方法(示例代码)
前端·css
街尾杂货店&10 小时前
css - word-spacing 属性(指定段字之间的间距大小)属性定义及使用说明
前端·css
座山雕~21 小时前
html 和css基础常用的标签和样式
前端·css·html
elvinnn1 天前
提升页面质感:CSS 重复格子背景的实用技巧
前端·css
rising start1 天前
五、CSS盒子模型(下)
前端·javascript·css