Bootstrap 导航栏对齐问题

时间:2021-07-08 11:34:30

标签: css twitter-bootstrap bootstrap-4

在 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 有这个功能吗?

1 个答案:

答案 0 :(得分:1)

<块引用>

默认情况下,下拉菜单会自动沿其父级的顶部和左侧 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-right 上使用 div.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>