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助手,依托大模型,帮助用户记录、整理和分析音视频内容,体验用大模型做音视频笔记、整理会议记录。

相关推荐
用户03321266636727 分钟前
使用 Python 从零创建 Word 文档
python
Csvn5 小时前
Python 两大经典坑点 —— 可变默认参数 & 闭包延迟绑定
后端·python
曲幽6 小时前
别再用网页翻译看源码了!你的私人翻译神器LibreTranslate,部署避坑指南来了
python·docker·web·pot·translate·libretranslate·arogstranslate
用户556918817538 小时前
#从脚本到独立程序:Python + Playwright 批量抓取的完整踩坑记录
python·自动化运维
倔强的石头_9 小时前
KingbaseES 新版MySQL 兼容版体验:旧版迁移 + 功能实测
数据库
兵慌码乱1 天前
基于 MediaPipe 与 PySide2 的手势交互音乐控制系统实现:轻量化视觉交互全流程解析
python·opencv·计算机视觉·人机交互·手势识别·mediapipe·pyside2
luckdewei1 天前
FastAPI 资产管理系统实战:复杂 ORM 关联、Alembic 迁移与 N+1 查询优化
python
aqi001 天前
15天学会AI应用开发(八)使用向量数据库实现RAG功能
人工智能·python·大模型·ai编程·ai应用
Csvn1 天前
`functools.lru_cache` —— 一行代码搞定缓存加速
后端·python