436

navbar 項目を右に揃えるにはどうすればよいですか?

ログインして右側に登録したい。しかし、私が試したことはすべてうまくいかないようです。

ナビゲーションバーの画像

これは私がこれまでに試したことです:

  • <div>属性で周り<ul>style="float: right"
  • <div>属性で周り<ul>style="text-align: right"
  • <li>タグでこれら2つのことを試しました
  • !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>
4

23 に答える 23

734

Bootstrap 5 (アップデート 2021)

Bootstrap 5 ( see this question ) では、はの代わりに にml-auto置き換えられましms-autoた。Navbar はまだflexboxに基づいているため、自動マージンまたはflexboxユーティリティ クラスを使用して Navbar コンテンツを配置します。startleft

たとえば、使用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>

ブートストラップ 5 右揃え Navbar コンテンツ


ブートストラップ 4 (元の回答)

Bootstrap には、 navbar アイテムを整列させるさまざまな方法がありますfloat-rightnavbar が now であるため、機能しませんflexbox

1st (左)mr-autoの自動右マージンに使用できます。 あるいは、を2 番目(右)に使用することも、1 つしかない場合にも使用できます。navbar-navml-autonavbar-navnavbar-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 utils もあります。たとえば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 つある場合、 inをnavbar-nav使用すると navbar-nav 間のスペースが均一になります。justify-content-betweennavbar-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 Navbar の右揃えのシナリオには、常にすべての幅で表示されるように、右側のボタンがモバイルの折りたたみナビゲーションの外にあることが含まれます。

常に表示される右揃えボタン

ここに画像の説明を入力

ここに画像の説明を入力

関連:左、中央、または右に配置されたアイテムを持つNavBarのブートストラップ

于 2017-01-06T20:25:14.017 に答える
75

BS4 でこの問題がまだ解決していない場合は、以下のコードを試してください -

<ul class="navbar-nav ml-auto">
于 2018-01-20T11:29:31.943 に答える
15

このコードを使用して、項目を右に移動します。

<div class="collapse navbar-collapse justify-content-end">
于 2018-03-02T04:33:41.977 に答える
8

の直後にホーム、機能、価格を左側にnav-brand表示し、右側にログインして登録する場合は、2 つのリストを でラップし<div>て使用します.justify-content-between

<div class="collapse navbar-collapse justify-content-between">
<ul>....</ul>
<ul>...</ul>
</div>
于 2017-06-08T22:12:57.930 に答える