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

Bootstrap 5自定义Navbar问题:折叠后右侧图标无法水平显示

Bootstrap 5 自定义 Navbar 解决方案

你的问题核心是折叠状态下右侧图标变为垂直排列,这是因为 Bootstrap 在 navbar-expand-md 以下的断点,默认会将 .navbar-nav 设置为 flex-column 布局。以下是修复方案:

修改方案

给右侧的导航列表添加 flex-row 类强制水平排列,搭配 gap-3 控制图标间距,即可在折叠状态下保持水平布局。

完整代码

CSS

.navbar-brand.abs {
  position: absolute;
  width: auto;
  left: 50%;
  transform: translateX(-50%);
  text-align: center;
}

HTML

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" integrity="sha384-T3c6CoIi6uLrA9TneNEoa7RxnatzjcDSCmG1MXxSR1GAsXEV/Dwwykc2MPK8M2HN" crossorigin="anonymous">

<nav class="navbar navbar-expand-md navbar-dark bg-dark" aria-label="Navbar example">
  <div class="container-fluid">
    <a class="navbar-brand abs" href="#">Logo</a>
    
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>

    <div class="collapse navbar-collapse" id="navbarCollapse">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link active" aria-current="page" href="#">Home</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">About</a>
        </li>
        <li class="nav-item">
          <a class="nav-link">Shop</a>
        </li>
      </ul>
    </div>
    
    <div>
      <!-- 添加 flex-row 和 gap-3 类 -->
      <ul class="navbar-nav ms-auto flex-row gap-3">
        <li class="nav-item">
          <a class="nav-link" aria-current="page" href="#">账户</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Instagram</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js" integrity="sha384-C6RzsynM9kWDrMNeT87bh95OGNyZPhcTNXj1NW7RuBCsyN/o0jlpcV8Qyq46cDfL" crossorigin="anonymous"></script>

说明

  • flex-row:强制导航项水平排列,覆盖 Bootstrap 小屏幕下的垂直布局默认样式
  • gap-3:控制图标之间的间距,可根据需求调整数值(如 gap-2、gap-4)
  • 原有 Logo 居中的样式保持不变,绝对定位确保其始终处于导航栏中央,不影响左右内容布局

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 09:08:22