Bootstrap 4导航栏无法折叠或展开

5

我正在自学网页开发,我认为没有比开始自己的个人网页更好的方式了。

我在使用 Bootstrap 4 和导航栏时遇到了问题。

当窗口缩小时,我可以显示列表和图标,但是我无法让它展开或切换折叠。我甚至复制并粘贴了一些代码从Bootstrap文档中来查找错误,但即使这样也不能正常工作。

我已经在 Firefox 和 Chrome 上尝试过了,但两者都无法使用图标按钮切换折叠。

以下是代码:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="description" content="Heath's Personal Website">
  <meta name="keywords" content="heath, blandford, heath blandford">
  <meta name="author" content="heath blandford">
  <meta name="viewport" content="width=device-width, initial-scale=1">



  <!--import bootstrap -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  <!-- import google fonts lobster and open sans -->
  <link href="https://fonts.googleapis.com/css?family=Lobster|Open+Sans" rel="stylesheet">



</head>

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <a class="navbar-brand" href="#">navbar</a>
  <!-- Navbar brand yo -->
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTop" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>

  <div class="collapse navbar-collapse" id="navbarTop">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item"><a class="nav-link" href="#about">About</a> </li>
      <li class="nav-item"><a class="nav-link" href="#portfolio">Services</a> </li>
      <li class="nav-item"><a class="nav-link" href="#contact">Contact</a> </li>
      <li class="nav-item"><a class="nav-link" href="#social">Social Media</a> </li>
    </ul>
  </div>
</nav>

<body>

</body>

</html>

1个回答

18

虽然您已经导入了Bootstrap的CSS,但您忽略了导入所需的JavaScript。

导入Bootstrap的JavaScript和所需的依赖项(jQueryPopper.JS)将使您的导航正确切换。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.6/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>

这可以通过以下方式看出:

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="description" content="Heath's Personal Website">
  <meta name="keywords" content="heath, blandford, heath blandford">
  <meta name="author" content="heath blandford">
  <meta name="viewport" content="width=device-width, initial-scale=1">

  <!--import bootstrap -->
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.2.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.6/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js"></script>
  
  <!-- import google fonts lobster and open sans -->
  <link href="https://fonts.googleapis.com/css?family=Lobster|Open+Sans" rel="stylesheet">

</head>

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <a class="navbar-brand" href="#">navbar</a>
  <!-- Navbar brand yo -->
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarTop" aria-controls="navbar" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="collapse navbar-collapse" id="navbarTop">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item"><a class="nav-link" href="#about">About</a> </li>
      <li class="nav-item"><a class="nav-link" href="#portfolio">Services</a> </li>
      <li class="nav-item"><a class="nav-link" href="#contact">Contact</a> </li>
      <li class="nav-item"><a class="nav-link" href="#social">Social Media</a> </li>
    </ul>
  </div>
</nav>

<body>

</body>

</html>


谢谢!我应该知道要包含js。哎呀! - William Heath Blandford
对我来说,使用popper.js没问题,但请确保在jquery和popper之后加载bootstrap.js。 - amchugh89

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接