导航栏与关于我们模块重叠,设置position:fixed后移动端汉堡图标消失求助
问题根因
你遇到的两个问题核心来自三处错误配置:
- 导航默认使用
position: absolute脱离文档流,不占用页面高度,下方的关于我们模块会直接顶到页面顶部和导航重叠 - 汉堡图标没有设置定位属性,且配置了不合理的
padding-left: 100%,直接被挤出视口外,修改导航为position: fixed后层级也低于导航,被完全遮挡 - 全局
body设置了overflow: hidden,页面超出视口的内容会被直接裁剪,也会影响导航和内容的显示
修复步骤
1. 调整全局与导航基础样式
替换原有body和nav的CSS代码:
body { margin: 0; padding: 0; /* 删除overflow: hidden,允许页面滚动 */ padding-top: 80px; /* 数值等于桌面端导航高度,避免内容被顶部导航遮挡 */ } /* NavBar */ nav { background-color: #E5E5E5; width: 100%; position: fixed; /* 替换原有的absolute,固定在页面顶部 */ top: 0; left: 0; z-index: 999; /* 提高导航层级,不会被其他内容覆盖 */ }
2. 修复汉堡图标样式
替换原有.list的CSS代码:
.list { width:20px; display:none; position: fixed; /* 固定定位,始终悬浮在顶部 */ top: 20px; right: 20px; z-index: 1000; /* 层级高于导航,不会被展开的导航遮挡 */ padding: 0; /* 删除原有的padding-left: 100%,避免图标被挤出视口 */ background: #E5E5E5; cursor: pointer; }
3. 修正导航初始状态
删除HTML中nav标签的active类,避免移动端默认展开导航:
<nav> <!-- 原有ul内容保持不变 --> </nav>
效果验证
修改后桌面端导航固定在页面顶部,下方关于我们模块会在导航下方正常显示,不会重叠;移动端汉堡图标固定在右上角可正常点击,能正常控制导航的展开和收起。
内容的提问来源于stack exchange,提问作者PawAMeditateguy
相关产品推荐
相关产品推荐

