Bootstrap 4将两个导航栏菜单按钮对齐到右侧[重复]

Posted

技术标签:

【中文标题】Bootstrap 4将两个导航栏菜单按钮对齐到右侧[重复]【英文标题】:Bootstrap 4 align two navbar menu buttons to right side [duplicate] 【发布时间】:2018-06-23 08:22:01 【问题描述】:

我有以下布局,导航栏中有两个不同的菜单,如下所示:

导航栏菜单折叠成两个不同的菜单按钮,这正是我想要的。但是我希望按钮并排向右对齐。我不知道如何让左侧的按钮向右移动?

代码(使用 bootstrap 4 beta):

<!-- Navigation -->
    <nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
      <div class="container">
        <a class="navbar-brand logo-font" href="#">
            Brand
        </a>
        <!-- links toggle -->
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#links" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>
        <!-- account toggle --> 
          <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#account" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
          <span class="navbar-toggler-icon"></span>
        </button>

        <div class="collapse navbar-collapse" id="links">
          <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
              <a class="nav-link" href="#">Link 1</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link 2</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link 3</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link 4</a>
            </li>
            <li class="nav-item">
              <a class="nav-link" href="#">Link 5</a>
            </li>
            <li class="nav-item dropdown">
                <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                  Other
                </a>
                <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                  <a class="dropdown-item" href="#">Dropdown 1</a>
                  <a class="dropdown-item" href="#">Dropdown 2</a>
                  <a class="dropdown-item" href="#">Dropdown 3</a>
                </div>
              </li>
          </ul>
          </div>
          <div class="collapse navbar-collapse" id="account">
          <ul class="navbar-nav ml-auto">
            <li class="nav-item"><a class="nav-link" href="#">Register</a></li>
            <li class="nav-item"><a class="nav-link" href="#">Log in</a></li>
          </ul>
        </div>
      </div>
    </nav>

Link to codeply

【问题讨论】:

【参考方案1】:

您只需要向第一个切换器添加一个小类,那就是ml-auto 类。

这是“ma​​rgin-left auto”的缩写,它是一个 flexbox 自动边距实用程序。

这是工作代码:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/css/bootstrap.min.css" integrity="sha384-Zug+QiDoJOrZ5t4lssLdxGhVrurbmBWopoEl+M6BdEfwnCJZtKxi1KgxUyJq13dy" crossorigin="anonymous">


<!-- Navigation -->
<nav class="navbar navbar-expand-lg navbar-dark bg-primary fixed-top">
    <div class="container">
        <a class="navbar-brand logo-font" href="#">
            Brand
        </a>

        <!-- links toggle -->
        <button class="navbar-toggler ml-auto" type="button" data-toggle="collapse" data-target="#links" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>
        <!-- account toggle -->
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#account" aria-controls="navbarResponsive" aria-expanded="false" aria-label="Toggle navigation">
                <span class="navbar-toggler-icon"></span>
            </button>

        <div class="collapse navbar-collapse" id="links">
            <ul class="navbar-nav mr-auto">
                <li class="nav-item active">
                    <a class="nav-link" href="#">Link 1</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link 2</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link 3</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link 4</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link 5</a>
                </li>
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
                            Other
                        </a>
                    <div class="dropdown-menu" aria-labelledby="navbarDropdownMenuLink">
                        <a class="dropdown-item" href="#">Dropdown 1</a>
                        <a class="dropdown-item" href="#">Dropdown 2</a>
                        <a class="dropdown-item" href="#">Dropdown 3</a>
                    </div>
                </li>
            </ul>
        </div>

        <div class="collapse navbar-collapse" id="account">
            <ul class="navbar-nav ml-auto">
                <li class="nav-item"><a class="nav-link" href="#">Register</a></li>
                <li class="nav-item"><a class="nav-link" href="#">Log in</a></li>
            </ul>
        </div>

    </div>
</nav>


<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-beta.3/js/bootstrap.min.js" integrity="sha384-a5N7Y/aK3qNeh15eJKGWxsqtnX/wWdSZSKp+81YjTmS15nvnvxKHuzaWwXHDli+4" crossorigin="anonymous"></script>

【讨论】:

完美,非常感谢!我以为我可能遗漏了一些简单的东西。 如果它们能按我的预期工作就好了。就像,点击第一个,打开子菜单,点击第二个关闭第一个,然后打开第二个。再次点击第一个,关闭第二个再打开。

以上是关于Bootstrap 4将两个导航栏菜单按钮对齐到右侧[重复]的主要内容,如果未能解决你的问题,请参考以下文章

Bootstrap 4.0.0右对齐导航栏下拉菜单打开时超出视口[重复]

将导航栏搜索表单和中心的按钮与 Bootstrap 4 对齐

在 Bootstrap 4 中对齐导航栏

Bootstrap 4导航栏右对齐在移动设备上不折叠的按钮

将导航栏切换按钮向右对齐

Bootstrap 4 灵活的响应式导航栏菜单