You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

勾选hamburger-checkbox复选框后overlay-menu无法隐藏问题咨询

问题原因

CSS的兄弟选择器~仅能匹配同一个父元素下、位于选择器主体后方的同级元素。你现有的控制代码不生效是因为:

  • 汉堡菜单的动画控制目标(.hamburger-bun、.hamburger-burger)和.hamburger-checkbox同属.hamburger-wrapper的直接子元素,是同级关系,所以~选择器可以正常匹配
  • .overlay-menu是.hamburger-menu的同级元素,并不在.hamburger-wrapper容器内,和.hamburger-checkbox不存在同级关系,所以原有选择器无法命中目标元素

解决方案

将原有CSS第154行的控制代码替换为以下内容即可:

.hamburger-menu:has(.hamburger-checkbox:checked) ~ .overlay-menu {
  display: none;
}

上述代码使用:has()选择器,匹配到包含已勾选复选框的.hamburger-menu元素后,再选中它的同级兄弟元素.overlay-menu修改显示状态,兼容Chrome 105+、Firefox 121+、Safari 15.4+等所有现代主流浏览器。

如果需要兼容更低版本浏览器,可以调整HTML结构,将.hamburger-checkbox移到<nav>标签下作为直接子元素,再使用兄弟选择器控制即可。

内容的提问来源于stack exchange,提问作者Matu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 00:39:02