html - 自定义 Bootstrap Navbar 下拉菜单会在屏幕较小时破坏设计

标签 html css bootstrap-4

好吧,我有这个 JS Fiddle https://jsfiddle.net/uvkt8z7j/16/每当屏幕很小并且我尝试单击右侧的下拉菜单时,它似乎会破坏整个设计。当屏幕处于 lrg 状态时,我希望有相同的行为

  <body style="background-color: black;">
    <div id='header'>
      <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>

        <ul class='navbar-nav'>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <!-- <div>Icons made by <a href="http://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></div> -->
                            <img src="https://png.icons8.com/ios/24/black/dining-room-filled.png">
                    </a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
              <a class="dropdown-item" href="#">Action</a>
              <a class="dropdown-item" href="#">Another action</a>
              <a class="dropdown-item" href="#">Something else here</a>
            </div>
          </li>
        </ul>

        <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
          <a class="dropdown-item" href="#">Action</a>
          <a class="dropdown-item" href="#">Another action</a>
          <a class="dropdown-item" href="#">Something else here</a>
        </div>

        <div class="collapse navbar-collapse" id="navbarNavDropdown">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link menu-selection" href="#">STORE ORDER ONLINE <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link menu-selection" href="#">STORE INFO</a>
            </li>
            <li class="nav-item">
              <a class="nav-link menu-selection" href="#">STORE LOCATORS</a>
            </li>
          </ul>
        </div>`
      </nav>
    </div>
  </body>

最佳答案

您可以覆盖 Bootstrap 类(在较小的屏幕上)来解决这个问题。
请参阅下面演示中的媒体查询:

@media screen and (max-width: 992px){
    #header .dropdown-menu{
        position: absolute;
        right: 0;
        left: auto;
    }
}
<script
  src="https://code.jquery.com/jquery-3.3.1.min.js"
  integrity="sha256-FgpCb/KJQlLNfOu91ta32o/NMZxltwRo8QtmkMRdAu8="
  crossorigin="anonymous"></script>

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css" integrity="sha384-MCw98/SFnGE8fJT3GXwEOngsV7Zt27NXFoaoApmYm81iuXoPkFOJwJ8ERdknLPMO" crossorigin="anonymous">
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js" integrity="sha384-ChfqqxuZUCnJSK3+MXmPNIyE6ZbWh2IMqE241rYiqJxyMiZ6OW/JmZQ5stwEULTy" crossorigin="anonymous"></script>

<body style="background-color: black;">
    <div id='header'>
      <nav class="navbar navbar-expand-lg navbar-light bg-light">
        <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNavDropdown" aria-controls="navbarNavDropdown" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>

        <ul class='navbar-nav'>
          <li class="nav-item dropdown">
            <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
            <!-- <div>Icons made by <a href="http://www.freepik.com" title="Freepik">Freepik</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a> is licensed by <a href="http://creativecommons.org/licenses/by/3.0/" title="Creative Commons BY 3.0" target="_blank">CC 3.0 BY</a></div> -->
                            <img src="https://png.icons8.com/ios/24/black/dining-room-filled.png">
                    </a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
              <a class="dropdown-item" href="#">Action</a>
              <a class="dropdown-item" href="#">Another action</a>
              <a class="dropdown-item" href="#">Something else here</a>
            </div>
          </li>
        </ul>

        <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
          <a class="dropdown-item" href="#">Action</a>
          <a class="dropdown-item" href="#">Another action</a>
          <a class="dropdown-item" href="#">Something else here</a>
        </div>

        <div class="collapse navbar-collapse" id="navbarNavDropdown">
          <ul class="navbar-nav">
            <li class="nav-item active">
              <a class="nav-link menu-selection" href="#">STORE ORDER ONLINE <span class="sr-only">(current)</span></a>
            </li>
            <li class="nav-item">
              <a class="nav-link menu-selection" href="#">STORE INFO</a>
            </li>
            <li class="nav-item">
              <a class="nav-link menu-selection" href="#">STORE LOCATORS</a>
            </li>
          </ul>
        </div>
      </nav>
    </div>
  </body>

关于html - 自定义 Bootstrap Navbar 下拉菜单会在屏幕较小时破坏设计,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51915456/

相关文章:

javascript - Summernote 非引导版本滚动问题

html - bootstrap 4 中的堆叠式可折叠导航栏

javascript - 动态生成时无法使 Bootstrap 选项卡工作

php - 最佳服务器端语法高亮解决方案(在 PHP 中)

html - 具有神秘顶部偏移的 float 形式

javascript - 当按下按钮触发事件时没有任何反应

javascript - 需要 "menuTrigger"的 javascript 菜单帮助

javascript - 回调函数不适用于 css 库

html - firefox中某些元素的错误位置

html - CSS 将一个 div 的边距设置为等于另一个 div 的宽度