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

Bootstrap 5导航栏点击切换按钮无法展开问题求助

问题原因与修复方案

核心问题是Bootstrap版本不兼容:你代码里用了Bootstrap 5的属性(data-bs-toggle、data-bs-target),但引入的却是Bootstrap 4的CSS和JS文件,两者不匹配导致交互失效。

修复步骤(二选一即可)

方案1:切换到Bootstrap 5资源(推荐,符合你使用Bootstrap 5的需求)

替换头部的Bootstrap CSS链接,以及底部的JS脚本(Bootstrap 5不再依赖jQuery):

<!-- 替换原Bootstrap CSS -->
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css">

<!-- 替换原JS脚本 -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>

同时,移除搜索栏外层多余的collapse navbar-collapse(嵌套的collapse会导致布局异常),修改后的导航栏部分代码:

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <div class="container-fluid">
    <a class="navbar-brand">Manga Book Store</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarSupportedContent">
      <ul class="navbar-nav me-auto mb-2 mb-lg-0">
        <li class="nav-item">
          <a class="nav-link active" aria-current="page" href="{% url 'home' %}">Home</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Link</a>
        </li>
        <li class="nav-item dropdown">
          <a class="nav-link dropdown-toggle" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">
            Dropdown
          </a>
          <ul class="dropdown-menu">
            <li><a class="dropdown-item" href="#">Action</a></li>
            <li><a class="dropdown-item" href="#">Another action</a></li>
            <li><hr class="dropdown-divider"></li>
            <li><a class="dropdown-item" href="#">Something else here</a></li>
          </ul>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled">Disabled</a>
        </li>
      </ul>
      <!-- 移除多余的collapse navbar-collapse -->
      <form class="d-flex" role="search" method=POST action="{% url 'search_manga' %}">
        {% csrf_token %}
        <input class="form-control me-2" type="search" placeholder="Search Manga" aria-label="Search" name="searched">
        <button class="btn btn-outline-success" type="submit">Search</button>
      </form>
    </div>
  </div>
</nav>

方案2:保留Bootstrap 4,修改属性格式

如果你想继续用Bootstrap 4,把按钮里的data-bs-toggle改成data-toggle,data-bs-target改成data-target即可:

<button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
  <span class="navbar-toggler-icon"></span>
</button>

同时也要移除搜索栏外层多余的collapse navbar-collapse,避免布局问题。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 20:25:22