Bootstrap 下拉菜单和汉堡包崩溃不起作用

时间:2021-02-06 20:15:51

标签: html bootstrap-4

我似乎无法让我的导航栏下拉菜单或汉堡包折叠正常工作。它们都出现了,但是当我单击它们中的任何一个时都不会发生任何操作。我在底部有 jQuery、popper 和 bootstrap js,顺序正确(我相信),我不确定我还能做什么。

我也没有任何与导航栏上的任何 id 交互的冲突 css 代码。

{% load static %}
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Yoon Family Cookbook</title>
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
    <link rel="stylesheet" type="text/css" href="{% static 'css/main.css' %}"> 
    <script src="https://kit.fontawesome.com/99822d1753.js" crossorigin="anonymous"></script>
  </head>
<body>
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <div class="container-fluid">
            <a class="navbar-brand" href="{% url 'home' %}">Yoon Family Cookbook</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">
                        {% if request.user.is_authenticated %}
                        <a class="nav-link active" aria-current="page" href="{% url 'add_recipe' %}">Add Recipe</a>
                        {% endif %}
                    </li>
                </ul>
                <ul class="navbar-nav ml-auto mb-2 mb-lg-0">
                    {% if request.user.is_authenticated %}
                    <li class="nav-item">
                            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                                <span>Hello, {{request.user.first_name}}</span>
                            </a>
                              <div class="dropdown-menu dropdown-menu-right" id="dropdown-content" aria-labelledby="navbarDropdown">
                              <a class="dropdown-item" href="#">Profile</a>
                              <div class="dropdown-divider"></div>
                              <a class="dropdown-item" href="{% url 'logout' %}">Log Out</a>
                        {% else %}
                            <a class="login-button" href = "{% url 'login' %}">Login</a>
                        {% endif %}
                    </li>
                </ul>
            </div>
        </div>
    </nav>

{% block content %}

{% endblock %}
<script src="https://code.jquery.com/jquery-3.5.1.min.js" integrity="sha256-9/aliU8dGd2tb6OSsuzixeV4y/faTqgFtohetphbbj0=" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.6/umd/popper.min.js" integrity="sha384-wHAiFfRlMFy6i5SRaxvfOCifBUQy1xHdJ/yoi7FRNXMRBu5WHdZYu1hA6ZOblgut" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.4.1/js/bootstrap.min.js"></script>
<script type="text/javascript" src="{% static 'js/main.js' %}"></script>

</body>
</html>

1 个答案:

答案 0 :(得分:0)

首先,您使用的是来自两个不同版本的 css 和 js:

  • 4.3.1/css/bootstrap.min.css
  • 3.4.1/js/bootstrap.min.js

选择一个版本并为两者使用相同的版本。

其次,您的 html 结构不正确。 nav.navbar 应该在 div.container-fluid 内。

<body>
  <div class="container-fluid">
    <nav class="navbar navbar-expand-lg navbar-light bg-light">
      ...
    </nav>
    ...
  </div>
  ...
</body>