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

Bootstrap响应式导航栏宽度<768px时消失问题求助

故障原因

代码存在3类核心错误,直接导致宽度小于768px时导航栏显示/交互逻辑完全失效:

  • ID匹配错误:折叠触发按钮的data-target属性写的是#navbarCollapse,但实际需要展开/折叠的导航容器ID是navbarSupportedContent,按钮点击后找不到对应DOM节点,完全无法触发折叠交互
  • 版本类名混用:你当前用的是Bootstrap 4版本,但代码里写了大量Bootstrap 3的废弃类名:navbar-header、navbar-toggle、icon-bar都是Bootstrap 3的导航类,Bootstrap 4根本没有这些类的默认样式,直接导致小屏状态下汉堡按钮不显示、导航容器默认隐藏无法触发
  • 冗余与无效代码:nav标签同时加了navbar-expand-lg和navbar-expand-md两个响应式展开类,属于冗余写法;全局CSS开头残留了无意义的`enter code here`字符,虽然不影响核心逻辑,但属于无效内容需要清理

小屏状态下Bootstrap会给navbar-collapse容器默认加display:none,汉堡按钮又因为类名错误、ID不匹配完全失效,除了logo之外的导航内容全被隐藏,就会出现导航栏“消失”的现象。

修复方案

HTML部分修正

直接替换原有nav块即可,Django模板语法全部保留未改动:

<header>
  <nav class="navbar navbar-expand-md">
    <div class="container">
      <a class="navbar-brand" href="/">
        <img src="{% static 'images/logo2.png' %}" width="40%" />
      </a>
      <button
        type="button"
        class="navbar-toggler"
        data-toggle="collapse"
        data-target="#navbarSupportedContent"
        aria-controls="navbarSupportedContent"
        aria-expanded="false"
        aria-label="切换导航"
      >
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav">
          <li class="nav-item">
            <a href="/" class="nav-link">Acasă</a>
          </li>
          <li class="nav-item">
            <a href="/about/" class="nav-link">Despre</a>
          </li>
          <li class="nav-item">
            <a href="/services/" class="nav-link">Servicii</a>
          </li>
          <li class="nav-item">
            <a href="/products/" class="nav-link">Produse</a>
          </li>
          <li class="nav-item">
            <a href="/quote/" class="nav-link">Calculator</a>
          </li>
          {% if request.user.is_authenticated %}
          <li class="nav-item">
            <a class="nav-link" href="{% url 'profile' %}">Profilul tau, {{request.user.username}}</a>
          </li>
          <li class="nav-item">
            <a href="{% url 'logout' %}" class="nav-link" style="color: #ebce09">Logout</a>
          </li>
          {% else %}
          <li class="nav-item">
            <a href="{% url 'login' %}" class="nav-link" style="color: #ebce09">Login</a>
          </li>
          {% endif %}
        </ul>
      </div>
    </div>
  </nav>
</header>

如果需要调整导航折叠的断点,只需要修改nav标签上的展开类即可:

  • navbar-expand-md:768px以上显示水平导航,小于768px显示汉堡按钮
  • navbar-expand-lg:992px以上显示水平导航,小于992px显示汉堡按钮

CSS部分修正

清理掉开头的无效残留字符,可按需补充汉堡按钮的样式适配深色导航栏,其余自定义样式无需改动:

* {
  box-sizing: border-box !important;
}

html {
  scroll-behavior: smooth;
}

body {
  color: #666666;
  font-size: 14px;
  font-family: "Raleway", sans-serif;
  line-height: 1.80857;
  font-weight: normal;
}
a {
  color: #1f1f1f;
  text-decoration: none !important;
  outline: none !important;
  transition: all 0.3s ease-in-out;
}

*,
*::after,
*::before {
  box-sizing: border-box;
}

.navbar {
  background-color: #12153c;
}
.nav-link {
  color: white;
  margin-left: 40px;
  font-size: 14px;
  font-weight: bold;
}
.nav-link:hover {
  color: #d0b608;
}
/* 适配深色导航栏的汉堡按钮样式,可按需调整 */
.navbar-toggler {
  border-color: rgba(255,255,255,0.7);
}
.navbar-toggler-icon {
  filter: invert(1);
}
注意事项
  • 确认页面已按正确顺序引入Bootstrap 4配套的jQuery、Popper.js依赖和Bootstrap核心JS文件,否则折叠点击交互不会生效
  • 不要跨大版本混用Bootstrap的类名,不同版本的组件语法差异很大,混用很容易出现样式、交互失效的问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.26 23:18:48