【问题标题】:Bootstrap 4 navbar - justify menu to right?Bootstrap 4 导航栏 - 右对齐菜单?
【发布时间】:2019-06-20 23:57:27
【问题描述】:

我正在使用 Bootstrap 4 默认导航栏,我只想将菜单项向右对齐,而不是向左对齐。

这应该很简单吧?但是我已经在谷歌上搜索了 25 分钟,但没有成功。

我尝试将 ml-autojustify-content-end 添加到菜单 div 中,但都没有帮助。

这是我的代码:https://www.bootply.com/oZD5wplHVi#

更新:我似乎错误地使用了 Bootstrap 3,哎呀。我想使用 Bootstrap 4,所以我更新了我的示例,并尝试添加 .float-right (code):

<div class="navbar navbar-dark bg-dark fixed-top navbar-expand-md">
    <div class="container">
        <a class="navbar-brand" href="#">Brand</a>
        <button type="button" class="navbar-toggler" data-toggle="collapse" data-target=".navbar-collapse">&#x2630;</button>
        <div class="collapse navbar-collapse float-right">
            <ul class="nav navbar-nav">
                <li class="active nav-item"><a href="#" class="nav-link">Home</a>
                </li>
                <li class="nav-item"><a href="#about" class="nav-link">About</a>
                </li>
                <li class="nav-item"><a href="#contact" class="nav-link">Contact</a>
                </li>
            </ul>
        </div>
    </div>
</div>

但仍然没有喜悦...我做错了什么?

更新 2:替换为新的干净问题 Bootstrap 4: Justify menu to right in navbar?,而不会混淆编辑。

【问题讨论】:

  • 您的 sn-p 中有一个技巧:老式的 float: left 而不是 flexbox。有关推理,请参阅黑曜石时代的答案:)
  • 这个问题现在很混乱,所以我用一个新的干净问题代替了它:stackoverflow.com/questions/54400642/…

标签: css bootstrap-4


【解决方案1】:

您似乎有一个 Bootstrap 3 导航栏,而不是 Bootstrap 4 导航栏。


引导程序 3

在这种情况下,您只是希望在包含 .navbar-collapse 上应用 .pull-right

<div class="collapse navbar-collapse pull-right">

body {
  padding-top: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>

<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>
    <div class="collapse navbar-collapse pull-right">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </div>
    <!--/.nav-collapse -->
  </div>
</div>

<div class="container">

  <div class="text-center">
    <h1>Bootstrap starter template</h1>
    <p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
  </div>

</div>
<!-- /.container -->

请注意,这会缩小可点击区域(因为它实际上只是应用 float: right),因此您可能希望应用 text-right 类来保留元素的整个宽度:

body {
  padding-top: 50px;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>

<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="container">
    <div class="navbar-header">
      <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </button>
      <a class="navbar-brand" href="#">Brand</a>
    </div>
    <div class="collapse navbar-collapse text-right">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">About</a></li>
        <li><a href="#contact">Contact</a></li>
      </ul>
    </div>
    <!--/.nav-collapse -->
  </div>
</div>

<div class="container">

  <div class="text-center">
    <h1>Bootstrap starter template</h1>
    <p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
  </div>

</div>
<!-- /.container -->

Boostrap 4

在 Bootstrap 4 中对齐导航栏在 this question 中有更详细的记录,尽管一般原则是相同的 - 将 .float-right.text-right 应用于包含 .navbar-nav @ 987654337@:

<ul class="navbar-nav text-right">

<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>

<body>
  <nav class="navbar navbar-expand-md navbar-dark bg-dark">
    <a class="navbar-brand" href="#">Navbar</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarsExampleDefault" aria-controls="navbarsExampleDefault" aria-expanded="false" aria-label="Toggle navigation">
    <span class="navbar-toggler-icon"></span>
  </button>
    <div class="collapse navbar-collapse" id="navbarsExampleDefault">
      <ul class="navbar-nav text-right">
        <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="#">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
        </li>
      </ul>
    </div>
  </nav>
  <main role="main" class="container">
    <div class="starter-template">
      <h1>Bootstrap starter template</h1>
      <p class="lead">Use this document as a way to quickly start any new project.<br> All you get is this text and a mostly barebones HTML document.</p>
    </div>
  </main>
</body>

【讨论】:

  • 谢谢!在我的任务中必须复制并粘贴一个 Bootstrap 3 sn-p。但是我确实想使用 Bootstrap 4,那我应该怎么做呢?
  • 谢谢! - 但我已经从您的答案中复制并粘贴了 Bootstrap 4 代码,菜单仍在左侧......? bootply.com/NprzHBqnrd
  • 在新的 sn-p 中,您需要 .ml-auto,因为父级使用 display: flex。新的 sn-p 确实是 Bootstrap 4,但新问题中的那个似乎仍然是 v3 的语法(例如 ul 上的 .nav 类)。检查this example here
猜你喜欢
  • 2018-05-11
  • 1970-01-01
  • 2012-09-09
  • 1970-01-01
  • 2017-06-11
  • 2017-08-02
  • 2020-04-18
  • 2018-06-23
  • 2017-05-27
相关资源
最近更新 更多