【问题标题】:Bootstrap hamburger menu not expanding引导汉堡菜单未扩展
【发布时间】:2021-05-26 01:35:00
【问题描述】:

一段时间后,我重新开始使用 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;

}

【问题讨论】:

  • 是不是因为在 bootstrap 5 中使用 CSS 而在 JS 中使用 bootstrap 4.3.1?

标签: jquery css django bootstrap-4 navbar


【解决方案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>

【讨论】:

  • 用这个替换我 底部的 3 个脚本标签就可以了。我应该把 popper.js 留在那里,还是这也能解决这个问题?谢谢!
  • 它确实会处理它。我提到的脚本是一个包含 bootstrap 和 popper js 文件的包
猜你喜欢
  • 1970-01-01
  • 2020-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-12-11
  • 2015-09-30
  • 2021-06-27
相关资源
最近更新 更多