Bootstrap 4 导航栏不会在大屏幕上折叠

IT技术 javascript html twitter-bootstrap bootstrap-4
2021-02-08 03:07:21

我正在尝试使用 Bootstrap 4 实现导航栏。目前,当视口缩小到移动尺寸时,导航栏会正确折叠。但是,当尝试切换菜单时,没有任何react。jsFiddle 示例演示了这种行为。我也附上了 HTML。

我采取的步骤:

  • 删除所有自定义 CSS
  • 确保 jQuery 链接在 Bootstrap JS 文件之前
  • 页眉和页脚中的脚本标签
  • 复制并粘贴 Bootstrap Docs 中的确切示例(我得到相同的行为)
  • 确保在 Chrome 浏览器中使用 JS
  • 使用 WC3 验证器验证的 HTML
  • 当然,请阅读有关此问题的 SO 上的各种帖子,但没有一个会导致解决

jsFiddle 链接https://jsfiddle.net/u7v5jba9/

<title>Site title</title>
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/css/bootstrap.min.css" />
<link rel="stylesheet" type="text/css" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />

<body>
  <div class="container">
    <nav class="navbar navbar-expand-lg navbar-light">

      <a class="navbar-brand" href="#">
        <i class="fa fa-globe" aria-hidden="true"></i> Brand Name
      </a>

      <button class="navbar-toggler collapsed" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                <i class="fa fa-angle-double-down"></i>
              </button>

      <div class="navbar-collapse collapse" id="navbarSupportedContent">
        <ul class="navbar-nav mr-auto">
          <li class="nav-item"><a href="#" class="nav-link ">Link 1</a></li>
          <li class="nav-item"><a href="#" class="nav-link ">Link 2</a></li>
          <li class="nav-item"><a href="#" class="nav-link">Link 3</a></li>
        </ul>
        <ul class="navbar-nav">
          <li class="nav-item"><a href="#" class="nav-link ">Sign In</a></li>
          <li class="nav-item"><a href="#" class="nav-link ">Register</a></li>
          <li class="nav-item"><a href="#" class="nav-link ">Log Out</a></li>
        </ul>
      </div>
    </nav>
  </div>

  <div class="container">
    <nav class="navbar navbar-inverse fixed-bottom text-center">
      <h6 class="text-light text-center">Footer</h6>
    </nav>
  </div>

  <!-- Scripts -->
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js"></script>
</body>
3个回答

您需要根据入门文档包含 Popper

将这些用于您的脚本。

<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.3/umd/popper.min.js" integrity="sha384-vFJXuSJphROIrBnz7yo7oB41mKfc8JzQZiCq4NCceLEaO4IHwicKwpJf9c9IpFgh" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>

更新工作小提琴:https : //jsfiddle.net/u7v5jba9/1/

建议:以后,请始终在浏览器中打开开发检查器控制台以查找任何错误消息。

魔法,谢谢回复。我正在使用开发检查器,但没有看到错误消息 -.-
2021-03-17 03:07:21
@FatemaT.Zuhora 如果您有正确的版本,将它们从项目目录中包含应该可以正常工作
2021-03-23 03:07:21
我不知道我到底出了什么问题,当我从本地目录下载和使用时它不起作用。我没有为integrityand使用任何值crossorigin只是刚刚使用<link rel="stylesheet" href="assets/css/bootstrap.min.css">
2021-03-27 03:07:21
你能解释一下为什么从 CDN 中包含这些文件而不是从项目目录中包含这些文件吗?我也遇到过同样的问题。
2021-04-05 03:07:21

您还可以将引导程序引用更改为捆绑版本 - bootstrap。捆绑.min.js - 包括 popper.js。

<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.2/js/bootstrap.bundle.min.js" integrity="sha384-alpBpkh1PFOepccYVYDB4do5UnbKysX5WZXm3XxPqe5iKTfUKjNkCk9SaVuEZflJ" crossorigin="anonymous"></script>

小提琴:https : //jsfiddle.net/smoore4/m2dLp71q/

正如@Anand Rockzz 正确指出的那样,您仍然需要在此引用之前添加 jQuery。

当您错过脚本的顺序时会发生这种情况。您应该始终按此顺序包含脚本

  1. jQuery.js
  2. popper.js
  3. 引导程序.js
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js" integrity="sha384-J6qa4849blE2+poT4WnyKhv5vZF5SrPo0iEjwBvKU7imGFAV0wwj1yYfoRSJoZ+n" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js" integrity="sha384-wfSDF2E50Y2D1uUdj0O3uMBJnjuUD4Ih7YwaYd1iqfktj0Uod8GCExl3Og8ifwB6" crossorigin="anonymous"></script>