使用Bootstrap 4,如何将navbar-brand右对齐?

6
我正在使用Bootstrap 4,我希望将navbar-brand项目(只是一个文本元素)放在最右边。 菜单(通常)默认为左侧。
我尝试过应用ml-auto、mx-auto、mr-auto、pull-right等,但都无法实现我想要的效果。
对于小屏幕,mx-auto很好用。 当汉堡菜单出现时,它会将navbar-brand居中。 但是,我需要在常规菜单出现时也能起作用的东西。
以下是我的代码:
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top main-menu">
  <a href="#" class="navbar-brand navbar-right">BSB Feedback</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainNav" aria-controls="mainNav" aria-expanded="false"
    aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>

  <div class="navbar-collapse collapse" id="mainNav">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item homeLink">
        <a class="nav-link" href="/">
          <span aria-hidden="true" class=" fa fa-spacer-right fa-home"></span>
        </a>
      </li>
      <li class="nav-item active">
        <a class="nav-link" href="/">Give Feedback</a>
      </li>
      <li class="nav-item ">
        <a class="nav-link" href="/managefeedback/">Manage Feedback</a>
      </li>
    </ul>
  </div>
</nav>
3个回答

7
您可以使用order-last类。然而,您可能希望在移动屏幕上仍然将品牌放在第一/顶部,因此您可以像这样响应性地使用顺序...
navbar-brand order-md-last https://www.codeply.com/go/Vq7ajCEfsg
<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top main-menu">
  <a href="#" class="navbar-brand order-md-last">BSB Feedback</a>
  <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainNav" aria-controls="mainNav" aria-expanded="false"
    aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
  <div class="navbar-collapse collapse" id="mainNav">
    <ul class="navbar-nav mr-auto">
      <li class="nav-item homeLink">
        <a class="nav-link" href="/">
          <span aria-hidden="true" class=" fa fa-spacer-right fa-home"></span>
        </a>
      </li>
      <li class="nav-item active">
        <a class="nav-link" href="/">Give Feedback</a>
      </li>
      <li class="nav-item ">
        <a class="nav-link" href="/managefeedback/">Manage Feedback</a>
      </li>
    </ul>
  </div>
</nav>

了解更多关于Bootstrap排序的内容

另一种选择是在父级导航栏上使用 flex-row-reverse,并在 响应式设计中 使用。这将在品牌和导航链接之间切换顺序,但仅限于非移动菜单。

<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top main-menu flex-md-row-reverse">
 ...
</nav>

如果你想在移动设备上保持品牌和拼接器居中,你可以将它们包裹在另一个div中,并使用mx-auto仍然居中:https://www.codeply.com/go/xXBdCHGAAN


相关:
Bootstrap 4将导航栏项目对齐到右侧


你在使用折叠功能时是否测试过,因为当你点击菜单切换按钮时,它会将品牌强制移到菜单底部,这种情况在低分辨率下尤其明显。 - Steve K
1
谢谢...我是Bootstrap的新手,还在摸索很多东西。这个正好符合我的要求。 - Eric Burdo

1
使用 .justify-content-md-end

<nav class="navbar navbar-expand navbar-dark bg-info">
 <div class="container justify-content-md-end">
  <a class="navbar-brand" href="#">Brand</a>
 </div>
</nav>


0
如何将导航栏品牌放到右侧?
在导航栏品牌上添加 order-md-last 类(除了您尝试的 mx-auto 之外)。
该排序类会重新排列中等大小屏幕(md)或更大屏幕上的元素。在较小的屏幕上,不会重新排序并且应用您的 mx-auto 类。
以下是应用该排序类的代码片段:

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">

<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/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>

<nav class="navbar navbar-expand-md navbar-dark bg-dark fixed-top main-menu">
    <a href="#" class="navbar-brand mx-auto order-md-last">BSB Feedback</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#mainNav" aria-controls="mainNav" aria-expanded="false"
            aria-label="Toggle navigation">
        <span class="navbar-toggler-icon"></span>
    </button>

    <div class="navbar-collapse collapse" id="mainNav">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item homeLink">
                <a class="nav-link" href="/">
                    <span aria-hidden="true" class=" fa fa-spacer-right fa-home"></span>
                </a>
            </li>
            <li class="nav-item active">
                <a class="nav-link" href="/">Give Feedback</a>
            </li>
            <li class="nav-item ">
                <a class="nav-link" href="/managefeedback/">Manage Feedback</a>
            </li>
        </ul>
    </div>
</nav>


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接