Bootstrap 5 移动下拉菜单点击不滑动

Bootstrap 5 mobile Dropdown not sliding while clicking

开始前需要了解的几件事:-

  1. 我正在使用 Django (python)
  2. 我正在使用 Bootstrap
  3. 显然我正在使用 htmlcss

我做了什么(按顺序,在我出错之前):

  1. 我从 bootstrap navbar docs
  2. 复制了 navbar 模板
  3. 我按照以下顺序从django的静态目录链接了我自己的自定义css和js文件:-

Javascript 个文件

(复制自Bootstrap,所以不要介意评论):)
<!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: Bootstrap Bundle with Popper -->
    <script src="{% static '/js/script.js' %}" type="text/javascript"></script>
    <script
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"
      integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0"
      crossorigin="anonymous"
    ></script>

Css 个文件

<link rel="stylesheet" href="{% static 'css/styles.css'%}" />
<!-- Bootstrap CSS -->
<link
  href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css"
  rel="stylesheet"
  integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl"
  crossorigin="anonymous"
/>

主要 html 文件中的代码

{%load static%}
<!DOCTYPE html>
<html lang="en">
  <head>
    <!-- Required meta tags -->
    <meta charset="utf-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1" />

    <link rel="stylesheet" href="{% static 'css/styles.css'%}" />
    <!-- Bootstrap CSS -->
    <link
      href="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/css/bootstrap.min.css"
      rel="stylesheet"
      integrity="sha384-BmbxuPwQa2lc/FVzBcNJ7UAyJxM6wuqIj61tLrc4wSX0szH/Ev+nYRRuWlolflfl"
      crossorigin="anonymous"
    />

    <title>{%block title%} {%endblock %}</title>
  </head>
  <body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
      <div class="container-fluid">
        <a class="navbar-brand" href="#">
          <img
            src="{% static '/img/Socklet-logos.jpeg' %}"
            alt="error in loading static files, may encounter bad design"
            id="brand-logo"
            class="float-start"
          />
          <h1 id="brand">{%block brand%}{%endblock%}</h1></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 navbar"
        >
          <ul class="navbar-nav me-auto mb-2 mb-lg-0" id="navigation-bar">
            <li class="nav-item" id="nav">
              <a
                class="nav-link active"
                aria-current="page"
                href="#"
                id="nav-link"
              >
                <svg
                  xmlns="http://www.w3.org/2000/svg"
                  width="16"
                  height="16"
                  fill="currentColor"
                  class="bi bi-house-door"
                  viewBox="0 0 16 16"
                  class="nav-icon"
                >
                  <path
                    d="M8.354 1.146a.5.5 0 0 0-.708 0l-6 6A.5.5 0 0 0 1.5 7.5v7a.5.5 0 0 0 .5.5h4.5a.5.5 0 0 0 .5-.5v-4h2v4a.5.5 0 0 0 .5.5H14a.5.5 0 0 0 .5-.5v-7a.5.5 0 0 0-.146-.354L13 5.793V2.5a.5.5 0 0 0-.5-.5h-1a.5.5 0 0 0-.5.5v1.293L8.354 1.146zM2.5 14V7.707l5.5-5.5 5.5 5.5V14H10v-4a.5.5 0 0 0-.5-.5h-3a.5.5 0 0 0-.5.5v4H2.5z"
                  />
                </svg>
                Home</a
              >
            </li>
            <hr style="color: white" />
            <li class="nav-item" id="nav">
              <a class="nav-link" id="nav-link" href="#">
                <svg
                  xmlns="http://www.w3.org/2000/svg"
                  width="16"
                  height="16"
                  fill="currentColor"
                  class="bi bi-kanban-fill"
                  viewBox="0 0 16 16"
                  class="nav-icon"
                >
                  <path
                    d="M2.5 0a2 2 0 0 0-2 2v12a2 2 0 0 0 2 2h11a2 2 0 0 0 2-2V2a2 2 0 0 0-2-2h-11zm5 2h1a1 1 0 0 1 1 1v3a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1zm-5 1a1 1 0 0 1 1-1h1a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3zm9-1h1a1 1 0 0 1 1 1v10a1 1 0 0 1-1 1h-1a1 1 0 0 1-1-1V3a1 1 0 0 1 1-1z"
                  />
                </svg>
                Projects</a
              >
            </li>
            <hr style="color: white" />
            <li class="nav-item dropdown" id="nav">
              <a
                class="nav-link dropdown-toggle"
                href="#"
                id="navbarDropdown"
                role="button"
                data-bs-toggle="dropdown"
                aria-expanded="false"
                id="nav-link"
              >
                <svg
                  xmlns="http://www.w3.org/2000/svg"
                  width="16"
                  height="16"
                  fill="currentColor"
                  class="bi bi-three-dots"
                  viewBox="0 0 16 16"
                  class="nav-icon"
                >
                  <path
                    d="M3 9.5a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3zm5 0a1.5 1.5 0 1 1 0-3 1.5 1.5 0 0 1 0 3z"
                  />
                </svg>

                More
              </a>
              <ul class="dropdown-menu" aria-labelledby="navbarDropdown">
                <li><a class="dropdown-item" href="#">Book Club</a></li>
                <li><a class="dropdown-item" href="#">Blog</a></li>
                <li><hr class="dropdown-divider" /></li>
                <li>
                  <a class="dropdown-item" href="#">Our Employees</a>
                </li>
              </ul>
            </li>
          </ul>
          <div class="d-flex">
            <a href="{{login_logout_link}}">
              <button
                class="btn btn-outline-success"
                name="login"
                id="login-btn"
              >
                {{login_logout}}
              </button>
            </a>
          </div>
        </div>
      </div>
    </nav>
    <!-- Optional JavaScript; choose one of the two! -->

    <!-- Option 1: Bootstrap Bundle with Popper -->
    <script src="{% static '/js/script.js' %}" type="text/javascript"></script>
    <script
      src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.bundle.min.js"
      integrity="sha384-b5kHyXgcpbZJO/tY9Ul7kGkf1S0CWuKcCD38l8YkeH8z8QjE0GmW1gYU5S9FOnJ0"
      crossorigin="anonymous"
    ></script>

    <!-- Option 2: Separate Popper and Bootstrap JS -->
    <!--
    <script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.6.0/dist/umd/popper.min.js" integrity="sha384-KsvD1yqQ1/1+IA7gi3P0tyJcT3vR+NdBTt13hSJ2lnve8agRGXTTyNaBYmCR/Nwi" crossorigin="anonymous"></script>
    <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.0.0-beta2/dist/js/bootstrap.min.js" integrity="sha384-nsg8ua9HAw1y0W1btsyWgBklPnCUAFLuTMS2G72MMONqmOymq585AcH49TLBQObG" crossorigin="anonymous"></script>
    -->
  </body>
</html>

自定义 Css 文件中的代码

@media screen and (max-width: 767px) {
  .nav-icon {
    height: auto;
    width: auto;
    max-height: 40px;
    max-width: 140px;
  }
}

@media screen and (min-width: 768px) {
  .nav-icon {
    height: auto;
    width: auto;
    max-height: 50px;
    max-width: 125px;
  }
}

#nav {
  font-size: 30px;
}

#nav:hover {
  background-color: black;
  text-shadow: 500px;
}

#login-button {
  align-items: right;
}

#brand:hover {
  color: black;
}

#login-btn {
  height: 45px;
  width: 100px;
}

#nav-link {
  padding: 10px;
}

svg {
  height: 30px;
  width: 30px;
}

@media (min-width: 767px) {
  #brand {
    padding-right: 250px;
    font-size: 50px;
  }
  #brand-logo {
    padding-right: 10px;
    height: auto;
    width: auto;
    max-width: 250px;
    max-height: 90px;
  }
}

#brand-logo {
  height: auto;
  width: auto;
  max-width: 100px;
  max-height: 55px;
  padding-right: 5px;
}

#navigation-bar {
  align-items: center;
}

但这是带有 gif 的最终输出,其中我单击下拉菜单但它没有滑动:-

ID在:

    <div
      class="collapse navbar-collapse"
      id="navbarSupportedContent navbar"
    >

必须与 data-bs-target="#navbarSupportedContent" 具有相同的值。这就是按钮和下拉菜单 <div> 的链接方式。

尝试将其更改为 id="navbarSupportedContent"