
本文详解纯 css 实现的响应式下拉菜单中“子菜单链接点击失效”的根本原因——焦点丢失导致 :focus 触发器提前关闭菜单,并提供基于 :focus-within 的无 js 修复方案,兼顾语义性、可访问性与兼容性。
本文详解纯 css 实现的响应式下拉菜单中“子菜单链接点击失效”的根本原因——焦点丢失导致 :focus 触发器提前关闭菜单,并提供基于 :focus-within 的无 js 修复方案,兼顾语义性、可访问性与兼容性。
你正在使用的是一套典型的“纯 CSS 响应式汉堡菜单 + 下拉子菜单”结构:通过 控制主菜单显隐,再借助 .onclick-menu:focus .onclick-menu-content 规则实现二级菜单的展开。这种写法在视觉上运行良好,但存在一个关键交互缺陷——子菜单中的 链接永远无法被点击。
? 问题根源::focus 的瞬时性与焦点劫持
当前 CSS 规则:
.onclick-menu:focus .onclick-menu-content {
opacity: 1;
visibility: visible;
display: inherit;
pointer-events: auto;
}
该规则依赖父级
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











