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

Bootstrap 4:折叠导航栏时显示激活nav-item并隐藏navbar-brand

解决Bootstrap折叠导航栏的显示需求

嘿,我懂你作为Bootstrap新手的困惑!其实导航栏折叠/展开时是有CSS类变化的,只是可能你没留意到,我来一步步帮你实现需求:折叠状态下隐藏navbar-brand,让当前激活的导航项显示在左侧。

核心思路

Bootstrap的导航栏折叠时,navbar-collapse容器会保留collapse类;当点击汉堡按钮展开菜单后,会额外添加show类。我们可以利用这个类的差异,结合自定义CSS来控制元素的显示和布局。

完整代码示例

HTML结构(以Bootstrap 4为例,Bootstrap 5只需替换data-toggle为data-bs-toggle、data-target为data-bs-target)

<nav class="navbar navbar-expand-md navbar-light bg-light">
  <!-- 汉堡按钮 -->
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav">
    <span class="navbar-toggler-icon"></span>
  </button>
  <!-- 折叠容器 -->
  <div class="collapse navbar-collapse" id="navbarNav">
    <!-- 品牌标识 -->
    <a class="navbar-brand" href="#">MyBrand</a>
    <!-- 导航菜单 -->
    <ul class="navbar-nav">
      <li class="nav-item active">
        <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">About</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Services</a>
      </li>
    </ul>
  </div>
</nav>

自定义CSS

/* 折叠状态下隐藏品牌标识 */
.navbar-collapse.collapse:not(.show) .navbar-brand {
  display: none;
}

/* 折叠状态下,把激活的导航项推到左侧 */
.navbar-collapse.collapse:not(.show) .navbar-nav .nav-item.active {
  margin-right: auto;
}

效果说明

  • 当视口宽度小于设置的断点(这里是md,即768px),导航栏进入折叠状态:navbar-brand隐藏,当前激活的项(比如Home)会自动靠左显示,访客一眼就能看到当前页面。
  • 点击汉堡按钮展开菜单后,navbar-brand会重新显示,菜单恢复正常布局。

这样调整后就能完美满足你的需求啦~

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 03:35:51