在 Bootstrap 4 的导航栏中使用下拉菜单而不是汉堡菜单

use a dropdown instead of a hamburger menu in a navbar in Bootstrap 4

我是 Bootstrap 的新手。

在Bootstrap4中我想使用一个简单的标准导航栏:

<nav class="navbar navbar-expand-lg navbar-light bg-light">

    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarNav">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarNav">
      <ul class="navbar-nav">
        <li class="nav-item active">
          <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Features</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Pricing</a>
        </li>
      </ul>
    </div>
  </nav>

当导航栏在较小的视口上折叠时,我希望它显示为下拉菜单,而不是汉堡包。

如何用下拉元素替换汉堡包图标和菜单功能?

如果这很难或不可能,我也可以使用简单的基本导航

<ul class="nav">
    <li class="nav-item">
      <a class="nav-link active" href="#">Active</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> 

在较小的视口上由下拉元素替换。

<span class="navbar-toggler-icon"></span>
此代码用于显示图标。由于 bootstrap 4 没有图标,请使用 fontawesome 图标。


将其包含在标题块中
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">

并将上面的行替换为
<span><i class="fa fa-angle-down" style="font-size:24px"></i></span>

最简单的方法是在下拉菜单上使用显示 d-lg-none,但是每个 "version"...

都需要有重复的菜单

选项 1

下拉菜单代替切换器。使用下拉菜单而不是移动导航...

<nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="dropdown d-lg-none">
        <div class="dropdown-menu show" aria-labelledby="dropdownMenu1">
            <a class="dropdown-item" href="#">Home</a>
            <a class="dropdown-item" href="#">Features</a>
            <a class="dropdown-item" href="#">Pricing</a>
        </div>
    </div>
    <div class="collapse navbar-collapse" id="navbarNav">
        <ul class="navbar-nav">
            <li class="nav-item active">
                <a class="nav-link" href="#">Home <span class="sr-only">(current)</span> 
                </a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Features</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Pricing</a>
            </li>
        </ul>
    </div>
</nav>

演示:https://www.codeply.com/p/xohg1kOKji

选项 2

使用下拉菜单而不是移动导航...

演示:https://www.codeply.com/p/y9DBBlGlZO