CSS 中实现同类型兄弟元素悬停联动效果(如所有红色行同时高亮)

本文介绍如何利用 css :has() 伪类实现"悬停任一同类元素时,所有同类型兄弟元素同步响应样式变化",无需 javascript,纯 css 可控,适用于分组高亮等交互场景。 本文介绍如何利用 css :has() 伪类实现"悬停任一同类元素时,所有同类型兄弟元素同步响应样式变化",无需 javascript,纯 css 可控,适用于分组高亮等交互场景。在传统 CSS 中,选择器无法向上查找父元素或横向影响其他兄弟元素------这意味着仅靠 .red-row:hover 只能改变当前被悬停的元素自身样式,无法波及同组其他 .red-row 元素。但现代 CSS 提供了突破性方案::has() 伪类,它允许我们基于子元素的状态(例如是否被悬停)来为祖先元素设置条件样式,从而间接驱动其后代中所有匹配元素的样式更新。核心思路是:将所有目标元素包裹于同一父容器内,并在该父容器上使用 :has() 检测是否存在某类元素处于 :hover 状态;一旦满足条件,即对容器内所有同类元素统一应用样式。以下为完整可运行示例:<div class="row-group"> <p class="red-row">Red Row</p> <p class="red-row">Red Row</p> <p class="red-row">Red Row</p> <p class="blue-row">Blue Row</p> <p class="blue-row">Blue Row</p> <p class="blue-row">Blue Row</p></div>对应 CSS 如下:立即学习"前端免费学习笔记(深入)"; 通义听悟 阿里云通义听悟是聚焦音视频内容的工作学习AI助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
神龙天舞20017 小时前
MySQL 备库为什么会延迟好几个小时
android·数据库·mysql
卷无止境8 小时前
写代码这件事,到底该讲究点什么?
后端·python
卷无止境8 小时前
循环复杂度到底在算什么,Python 代码怎么才能写得让人一看就懂
后端·python
lpfasd1238 小时前
MediaCrawler 项目深度分析
chrome·python·chrome devtools
丙氨酸長鏈8 小时前
Web前端入门第 问:JavaScript 一个简单的 IndexedDB 数据库入门示例
前端·javascript·数据库
Dxy12393102168 小时前
Python项目打包成EXE完整教程(PyInstaller实战避坑)
开发语言·python
bamb009 小时前
一个项目带你入门AI应用开发01
python
独行侠影a9 小时前
APScheduler+Redis 分布式定时任务:解决多实例任务重复执行
数据库·redis·分布式
0566469 小时前
Python康复训练——常用标准库
开发语言·python·学习
昆曲之源_娄江河畔9 小时前
Python如何安装flask, pymssql
开发语言·python·flask·pymssql