导航栏 bootstrap 菜单未在移动设备中显示

Navbar bootstrap menu not showing in mobile

这是我的 header.php 当我在手机上试用时,导航栏在手机上不起作用。所有菜单均正确显示在桌面屏幕中,但未显示在选项卡或移动设备中。这是我的代码。

<!DOCTYPE html>
<html>
<head>

<title>International Pvt. Ltd.</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link href="https://stackpath.bootstrapcdn.com/bootswatch/4.1.0/minty/bootstrap.min.css" rel="stylesheet" integrity="sha384-b8rPE9Kj0lNck6sxWxUIJRCE3IHrqNXF74vcnXKYS/NZPi7WInVsaIKeEjIDpyNt" crossorigin="anonymous">
    <link rel="stylesheet" href="#assets/css/style.css">
    <script src="https://cdn.ckeditor.com/4.9.1/standard/ckeditor.js">/script>
</head>
<body>
    <nav class="navbar navbar-expand-lg navbar-dark bg-primary navbar-fixed-top">
        <div class="container">
            <div class="navbar-header">
                <a class="navbar-brand" href="#">International</a>
            </div>

            <div class="collapse navbar-collapse" id="navbarColor01">
                <ul class="navbar-nav mr-auto" >
                    <li class="nav-item"><a class="nav-link" href="#">Home</a</li>
                    <li class="nav-item"><a class="nav-link" href="#about">About</a></li>
                    <li class="nav-item"><a class="nav-link" href="#posts">Blog</a></li>
                    <li class="nav-item"><a class="nav-link" href="#categories">Categories</a></li>

                    <?php if(!$this->session->userdata('logged_in')) : ?>
                    <li class="nav-item"><a class="nav-link" href="#users/login">Login</a></li>
                    <li class="nav-item"><a class="nav-link" href="#users/register">Register</a></li>
                    <?php endif; ?>
                    <?php if($this->session->userdata('logged_in')) : ?>
                    <li class="nav-item"><a class="nav-link" href="#posts/create">Create Post</a></li>
                    <li class="nav-item"><a class="nav-link" href="#categories/create">Create Category</a></li>
                    <li class="nav-item"><a class="nav-link" href="#users/logout">Logout</a></li>
                    <?php endif; ?>
                </ul>
            </div>
        </div>
    </nav>
[...]
</body>

中删除 class "collapse"
<div class="collapse navbar-collapse" id="navbarColor01">

要创建可折叠的导航栏,请使用带有 class="navbar-toggle"、data-toggle="collapse" 和 data-target="#thetarget" 的按钮。然后将导航栏内容(链接等)包裹在 div 元素中 class="collapse navbar-collapse",后跟与按钮的数据目标匹配的 id:"thetarget"

<nav class="navbar navbar-expand-md bg-dark navbar-dark">
  <!-- Brand -->
  <a class="navbar-brand" href="#">Navbar</a>

  <!-- Toggler/collapsibe Button -->
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#collapsibleNavbar">
    <span class="navbar-toggler-icon"></span>
  </button>

  <!-- Navbar links -->
  <div class="collapse navbar-collapse" id="collapsibleNavbar">
    <ul class="navbar-nav">
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li>
      <li class="nav-item">
        <a class="nav-link" href="#">Link</a>
      </li> 
    </ul>
  </div> 
</nav>

此外,您还必须包含 bootstrap 的 js。

您的导航栏已隐藏。添加一些按钮(汉堡包),它将显示您的导航栏:

<div class="col-10 text-right d-md-none">
                <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarColor01" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
                    <span class="navbar-toggler-icon"></span>
                </button>
            </div>

把它放在 div 之前和你的 ul。这个代码示例来自我的项目 - 当然你必须调整 类 到你的项目。

不包括 bootstrap 的脚本标记。 Bootstrap 需要 javascript 到 运行 这些动画中的一些。因此,包括 bootstrap.min.js 的脚本标记,还包括 jquery.min.js 和 jquery UI,因为某些动画使用它们。这是上面提到的脚本标签。编码愉快:)

<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.0/js/bootstrap.bundle.min.js" crossorigin="anonymous"></script>

<script 
src="https://code.jquery.com/jquery-3.3.1.min.js"></script>

<script
 src='http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.5/jquery-ui.min.js'></script>