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

Bootstrap导航栏小屏幕展开位置异常问题求助

问题分析与解决方案

你遇到的这个问题,根源出在自定义CSS里给.navbar设置了固定的height:90px——这直接破坏了Bootstrap导航栏原本的flex布局流。

Bootstrap 4的导航栏在移动端(小窗口)状态下,汉堡按钮和折叠菜单默认是垂直排列的:汉堡按钮在顶部,点击后菜单会在它下方展开并占据整行宽度。但当你给.navbar设置固定高度后,导航栏的内部空间被强制限定,折叠菜单无法正常换行到汉堡按钮下方,反而被挤到了右侧和按钮同一行。

修复步骤

只需要修改你的自定义CSS,移除固定高度,改用padding来控制导航栏的高度,这样既保留你想要的视觉高度,又不破坏布局逻辑:

/*NAV*/
nav li{
  border-left: 2px solid black;
  font-size: 1em;
}
nav li:hover{
  border-left: 2px solid black;
  box-shadow: inset 0px 0px 5px #000;
}
.navbar{
  background-color: #f2f2f2;
  /* 移除固定height设置 */
  /* height: 90px; */
  /* 用上下内边距替代,调整数值可控制导航栏高度 */
  padding: 1.5rem 0;
  border-bottom: 1px solid grey;
  border-top: 1px solid grey;
  -webkit-box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.4);
  -moz-box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.4);
  box-shadow: 0px 10px 20px 0px rgba(0,0,0,0.4);
}
.nav-link{
  width: 150px;
  text-align: center;
}

更贴合Bootstrap规范的替代方案

如果你想直接用Bootstrap内置工具类来控制间距,也可以在<nav>标签上添加py-4类(py-3/py-5可根据需求调整高度),这样连自定义padding都不用写:

<nav class="navbar navbar-expand-lg navbar-light py-4">
  <!-- 其余导航栏代码保持不变 -->
</nav>

修改完成后,移动端点击汉堡按钮时,菜单就会正常显示在按钮下方了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 04:21:38