本文介绍如何在基于 css 媒体查询和 checkbox 的响应式导航菜单中,通过重构 html 结构并结合轻量 javascript,实现点击汉堡图标展开菜单、再点击右上角“×”按钮即时收起的功能,解决纯 css 方案无法主动关闭的问题。
本文介绍如何在基于 css 媒体查询和 checkbox 的响应式导航菜单中,通过重构 html 结构并结合轻量 javascript,实现点击汉堡图标展开菜单、再点击右上角“×”按钮即时收起的功能,解决纯 css 方案无法主动关闭的问题。
要为响应式下拉菜单添加一个显式的关闭按钮(如“×”),关键在于
放弃纯 CSS :checked 控制的单向切换逻辑
,转而采用更可控的 JavaScript 驱动方式——既保留响应式设计的优雅,又赋予开发者对菜单开闭状态的完全掌控。
✅ 推荐方案:结构清晰 + 语义化 + 可维护
首先,将原依赖
和相邻兄弟选择器(#toggle:checked + .f-cb)的隐式控制方式,改为使用语义化