Bootstrap 将导航栏项目向右对齐

新手上路,请多包涵

如何将导航栏项目右对齐?

我想登录并注册到右边。但我尝试的一切似乎都不起作用。

导航栏图片

这是我到目前为止所尝试的:

  • <div> 围绕 <ul> 具有属性: style="float: right"
  • <div> 围绕 <ul> 具有属性: style="text-align: right"
  • <li> 标签上尝试了这两件事
  • !important 添加到末尾再次尝试了所有这些事情
  • nav-item 更改为 nav-right <li>
  • 添加了一个 pull-sm-right 类到 <li>
  • 添加了 align-content-end 类到 <li>

这是我的代码:

 <div id="app" class="container">
  <nav class="navbar navbar-toggleable-md navbar-light bg-faded">
    <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>
    <a class="navbar-brand" href="#">Navbar</a>
    <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="#">Pricingg</a>
      </li>
    </ul>
    <ul class="navbar-nav " >
      <li  class="nav-item">
        <a class="nav-link" href="{{ url('/login') }}">Login</a>
      </li>
      <li  class="nav-item">
        <a class="nav-link" href="{{ url('/register') }}">Register</a>
      </li>
    </ul>
  </nav>
  @yield('content')
</div>

原文由 Luuk Wuijster 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1k
2 个回答

引导程序 5 (2021 年更新)

In Bootstrap 5 ( see this question ), ml-auto has been replaced with ms-auto to represent start instead of left .由于导航栏仍然基于 flexbox自动 边距flexbox 实用程序类 仍用于对齐导航栏内容。

例如,使用 me-auto

 <nav class="navbar navbar-expand-lg navbar-light bg-light">
    <div class="container-fluid">
        <a class="navbar-brand" href="#">Brand</a>
        <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
            <span class="navbar-toggler-icon"></span>
        </button>
        <div class="collapse navbar-collapse" id="navbarContent">
            <ul class="navbar-nav me-auto mb-2 mb-lg-0">
                <li class="nav-item">
                    <a class="nav-link active" href="#">Home</a>
                </li>
                <li class="nav-item">
                    <a class="nav-link" href="#">Link</a>
                </li>
            </ul>
            <ul class="navbar-nav">
                <li class="nav-item dropdown">
                    <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-bs-toggle="dropdown" aria-expanded="false"> Menu </a>
                    <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdown">
                        <li><a class="dropdown-item" href="#">Action</a></li>
                        <li><a class="dropdown-item" href="#">Another action</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</nav>

Bootstrap 5右对齐导航栏内容


Bootstrap 4 (原始答案)

Bootstrap 有 许多 不同的方式来对齐导航栏项目float-right 不起作用,因为导航栏现在是 flexbox

您可以使用 mr-auto 用于 第一(左)的自动右边距 navbar-nav或者ml-auto 可以在 第二个(右)使用 navbar-nav ,或者如果你只有一个 navbar-nav

 <nav class="navbar navbar-expand-md navbar-light bg-light">
    <a class="navbar-brand" href="#">Navbar</a>
    <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 mr-auto">
            <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>
        <ul class="navbar-nav">
            <li class="nav-item">
                <a class="nav-link" href="#">Login</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Register</a>
            </li>
        </ul>
    </div>
</nav>

https://codeply.com/go/P0G393rzfm

还有 flexbox 工具。例如在折叠菜单上使用 justify-content-end

 <nav class="navbar navbar-expand-lg navbar-dark bg-dark">
  <div class="container-fluid">
    <a class="navbar-brand" href="#">Brand</a>
    <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse justify-content-end" id="navbarNav">
      <ul class="navbar-nav">
        <li class="nav-item">
          <a class="nav-link active" aria-current="page" href="#">Contact</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Pricing</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#">Download</a>
        </li>
      </ul>
    </div>
  </div>
</nav>

或者当您有 2 个 navbar-nav s 时,在 justify-content-between navbar-collapse 可以平衡导航栏导航之间的空间:

  <div class="navbar-collapse collapse justify-content-between">
     <ul class="navbar-nav mr-auto">
               ..
     </ul>
     <ul class="navbar-nav">
           ..
     </ul>
 </div>


Bootstrap 4.0 及更新版本的更新

从 Bootstrap 4 测试版开始, ml-auto 仍然可以将项目推到右侧。请注意 navbar-toggleable- 类已更改为 navbar-expand-*

为 Bootstrap 4 更新了导航栏右侧


另一个常见的 Bootstrap 4 导航栏右对齐方案包括一个位于右侧的按钮,该按钮 位于移动折叠导航之外, 因此它始终以所有宽度显示。

始终可见的右对齐按钮

在此处输入图像描述

在此处输入图像描述

相关: 带有左对齐、居中或右对齐项目的 Bootstrap NavBar

原文由 Zim 发布,翻译遵循 CC BY-SA 4.0 许可协议

就我而言,我只想要一组导航按钮/选项,并发现这会起作用:

 <div class="collapse navbar-collapse justify-content-end" id="navbarCollapse">
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#">Sign Out</a>
    </li>
  </ul>
</div>

因此,您将添加 justify-content-end 到 div 并在列表中省略 mr-auto

这是一个 工作示例

原文由 Craig van Tonder 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题