首页 > 解决方案 > Bootstrap 导航栏对齐问题

问题描述

在切换器汉堡菜单中的 Bootstrap 4 中,单击它会在一行中显示 HomeAbout,不知道为什么这些不在单独的行上。

1

代码:

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">    
      <a href="#" class="navbar-brand">Example</a>    
      <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
      </button>
      <div class="collapse navbar-collapse" id="navbarSupportedContent">
        <ul class="navbar-nav flex-row ml-md-auto d-md-flex">
          <li class="nav-item">
            <a href="#" class="nav-link">Home</a>
          </li>
          <li class="nav-item dropdown">
            <a href="#" class="nav-link dropdown-toggle" id="navbarDropdown" role="button" aria-haspopup="true" aria-expanded="false" data-toggle="dropdown" to="">About</a>
            <div class="dropdown-menu" aria-labelledby="navbarDropdown">
              <a class="dropdown-item" href="#">Feedback</a>
            </div>
          </li>
        </ul>
      </div>
    </nav>

小提琴:https ://jsfiddle.net/StoogeMate/qts6gamk/

我无法通过使用 Bootstrap 本身找到明显的答案,特别是对于第一个问题,而无需覆盖 .css 本身并应用 !important 标签

Bootstrap 有这个能力吗?

标签: csstwitter-bootstrapbootstrap-4

解决方案


默认情况下,下拉菜单会自动 100% 定位在其父级的顶部和左侧。将 .dropdown-menu-right 添加到 .dropdown-menu 以右对齐下拉菜单。

https://getbootstrap.com/docs/4.0/components/dropdowns/#menu-alignment

  1. dropdown从“关于”菜单项中删除
  2. 将About菜单项包装在一个div.btn-group
  3. 使用dropdown-menu-rightdiv.dropdown-menu
      <li class="nav-item">
        <div class="btn-group">
          <a href="#" class="nav-link dropdown-toggle" id="navbarDropdown" role="button" aria-haspopup="true" aria-expanded="false" data-toggle="dropdown" to="">About</a>
          <div class="dropdown-menu dropdown-menu-right" aria-labelledby="navbarDropdown">
            <a class="dropdown-item" href="#">Feedback</a>
          </div>
        </div>
      </li>

删除flex-row以在两行上显示菜单项。

 <ul class="navbar-nav ml-md-auto d-md-flex">
    ----     
 </ul>


推荐阅读