Bootstrap 汉堡菜单未扩展

时间:2021-02-23 18:20:58

标签: jquery css django bootstrap-4 navbar

在很长一段时间后,我重新开始使用 Django 进行 Web 开发,但我遇到了一个看似常见的问题,即我的引导汉堡菜单没有在我的导航栏中扩展。这让我非常疯狂。它工作正常,然后我进行了一些重构,但它不再起作用。我似乎找不到问题,我尝试将引导程序链接切换到此处找到的链接,确认 ID 匹配等,但无济于事。非常感谢任何帮助。

来自 Bootstrap 的脚本:

<head>
    <!-- Required meta tags -->
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <!-- 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>Title</title>
    ...
            <!-- Optional JavaScript -->
            <!-- jQuery first, then Popper.js, then Bootstrap JS -->
        <script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
            <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
            <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>
        </body>

HTML:

<nav id="bootstrap-override-customnav" class="navbar navbar-expand-lg navbar-light">
<div class="container-fluid">
    <a class="navbar-brand" href="{% url 'home'%}">
        <img src="{% static 'images/logo.png'%}" alt="" width="40" height="40">
    </a>
    <button class="navbar-toggler navbar-dark" 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" href="{% url 'home'%}">Home</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="{% url 'interactivequery'%}">Interactive Query Tool</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="{% url 'education'%}">Education</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="{% url 'about'%}">About</a>
            </li>
        </ul>
        <form class="d-flex">
            <input class="form-control me-2" type="search" placeholder="Diamond ID" aria-label="Search">
            <button class="btn btn-outline-success customnavbtn" type="submit">Search</button>
        </form>
    </div>
</div>

CSS:

nav .container-fluid .navbar-brand {
color:#3282b8;
font-family: 'Roboto', sans-serif;

}

nav .container-fluid .navbar-brand:hover {
color:#3282b8;
}

nav .d-flex .customnavbtn {
    background-color:#1b262c;
    color:#F2F2F2;
    border-color:#F2F2F2;
    font-family: 'Roboto', sans-serif;
}

nav .d-flex .customnavbtn:hover{
    background-color:#bbe1fa;
    color:#1b262c;
    font-family: 'Roboto', sans-serif;
}
 
nav .d-flex .customnavbtn:focus {
    box-shadow: none;
    background-color:#bbe1fa;
    color:#1b262c;
    border-color: #F2F2F2;
}

#bootstrap-override-customnav{
    background:#1b262c;
}

.navbar-nav .nav-item .nav-link {
    color:#F2F2F2;
    font-family: 'Roboto', sans-serif;
}

.navbar-nav .nav-item .nav-link:hover {
    color:#bbe1fa;
    font-family: 'Roboto', sans-serif;
}

.navbar-nav .nav-item .nav-link:focus {
    color:#bbe1fa;
    box-shadow: none;

}

1 个答案:

答案 0 :(得分:1)

我认为问题在于您在使用旧的 javascript 文件 v4.3.1 的同时使用了新的 v5 版本的引导程序。 bootstrap 不再需要 jQuery 来工作 尝试实现这一点

<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>