565

Bootstrapで、左側にロゴ A、中央にメニュー項目、右側にロゴ B を持つナビゲーション バーを作成する最もプラットフォームに適した方法は何ですか?

これが私がこれまでに試したことであり、ロゴ A が左に、ロゴの横のメニュー項目が左に、ロゴ B が右に配置されるように配置されます。

<div class="navbar navbar-fixed-top navbar-custom ">
  <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="#"><span class="navbar-logo">Logo_A</span></a>
    </div>
    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
        <li class="active"><a href="#">Home</a></li>
        <li><a href="#about">Menu Item 1</a></li>
        <li><a href="#contact">Menu Item 2</a></li>
        <li><a href="#about">Menu Item 3</a></li>
      </ul>
      <ul class="nav navbar-nav navbar-right">
        <li><a href="#"><img src="images/Logo_B.png" class="img-responsive"></a></li>
      </ul>
    </div>
  </div>
</div>
4

14 に答える 14

1097

2021 アップデート

ブートストラップ 5 (ベータ)

Bootstrap 5 にはフレックスボックス Navbar もあり、新しい RTL サポートが導入されています。このため、「左」と「右」の概念は「開始」と「終了」に置き換えられました。そのため、Bootstrap 5 ベータ版ではマージン ユーティリティが次のように変更されました。

  • ml-auto=>ms-auto
  • mr-auto=>me-auto

data-toggleまた、とdata-targetも変更されていることに注意してください。

  • data-toggle=>data-bs-toggle
  • data-target=>data-bs-target

Bootstrap 5 の Navbar デモ

ブートストラップ 4

Bootstrap 4 に flexbox が追加されたので、Navbar の配置がはるかに簡単になりました。ここでは、Bootstrap 4 Navbar の中央の更新された例と、ここで示されている他の多くの配置シナリオを示します

flexbox 、auto- margins 、および順序付けユーティリティ クラスを使用して、必要に応じて Navbar コンテンツを整列させることができます。大画面とモバイル/折りたたみビューの両方で、Navbar アイテム (ブランド、リンク、トグル) の順序と配置など、考慮すべきことがたくさんあります。Navbar にグリッド クラス (row,col) を使用しないでください

ここにさまざまな例があります...

左、中央(ブランド)、右のリンク:

ここに画像の説明を入力

<nav class="navbar navbar-expand-md navbar-dark bg-dark">
    <div class="navbar-collapse collapse w-100 order-1 order-md-0 dual-collapse2">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item active">
                <a class="nav-link" href="#">Left</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="//codeply.com">Codeply</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
        </ul>
    </div>
    <div class="mx-auto order-0">
        <a class="navbar-brand mx-auto" href="#">Navbar 2</a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".dual-collapse2">
            <span class="navbar-toggler-icon"></span>
        </button>
    </div>
    <div class="navbar-collapse collapse w-100 order-3 dual-collapse2">
        <ul class="navbar-nav ml-auto">
            <li class="nav-item">
                <a class="nav-link" href="#">Right</a>
            </li>
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
        </ul>
    </div>
</nav>

http://codeply.com/go/qhaBrcWp3v


センターリンクとオーバーレイロゴ画像を備えた別のBS4 Navbarオプション:

センターリンクとオーバーレイのロゴ画像

<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
    <div class="navbar-collapse collapse w-100 dual-collapse2 order-1 order-md-0">
        <ul class="navbar-nav ml-auto text-center">
            <li class="nav-item active">
                <a class="nav-link" href="#">Link</a>
            </li>
        </ul>
    </div>
    <div class="mx-auto my-2 order-0 order-md-1 position-relative">
        <a class="mx-auto" href="#">
            <img src="//placehold.it/120/ccff00" class="rounded-circle">
        </a>
        <button class="navbar-toggler" type="button" data-toggle="collapse" data-target=".dual-collapse2">
            <span class="navbar-toggler-icon"></span>
        </button>
    </div>
    <div class="navbar-collapse collapse w-100 dual-collapse2 order-2 order-md-2">
        <ul class="navbar-nav mr-auto text-center">
            <li class="nav-item">
                <a class="nav-link" href="#">Link</a>
            </li>
        </ul>
    </div>
</nav>

または、これらの他の Bootstrap 4 アライメント シナリオ:

ブランド左、デッドセンターリンク、(空右)

Navbar ブランド左、デッドセンター リンク


ブランドとリンクの中央、左右のアイコン

ここに画像の説明を入力


その他の Bootstrap 4 の例:

トグラーはモバイルでは左、ブランドは右、モバイルでは
ブランドとリンクを
右に配置 デスクトップではリンクを中央に配置、モバイルではリンクを中央に
配置 左のリンクとトグラー、ブランドを中央、検索を右


参照: Bootstrap 4 navbar アイテムを右に
配置 Bootstrap 4 navbar right をモバイルで折りたたまれないボタン
に配置 Bootstrap 4 Navbar の要素を中央に配置


ブートストラップ 3

オプション 1 - 左/右のナビゲーション リンクがあるブランド センター:

ここに画像の説明を入力

<nav class="navbar navbar-default" role="navigation">
  <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>    
  </div>
  <a class="navbar-brand" href="#">Brand</a>
  <div class="navbar-collapse collapse">
    <ul class="nav navbar-nav navbar-left">
        <li><a href="#">Left</a></li>
        <li><a href="#about">Left</a></li>
    </ul>
    <ul class="nav navbar-nav navbar-right">
      <li><a href="#about">Right</a></li>
      <li><a href="#contact">Right</a></li>
    </ul>
  </div>
</nav>

.navbar-brand
{
    position: absolute;
    width: 100%;
    left: 0;
    text-align: center;
    margin:0 auto;
}
.navbar-toggle {
    z-index:3;
}

http://bootply.com/98314 (3.x)


オプション 2 - 左、中央、右のナビゲーション リンク:

ここに画像の説明を入力

<nav class="navbar navbar-default" role="navigation">
  <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>    
  </div>
  <div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        <li><a href="#">Left</a></li>
    </ul>
    <ul class="nav navbar-nav navbar-center">
        <li><a href="#">Center</a></li>
        <li><a href="#">Center</a></li>
      <li><a href="#">Center</a></li>
    </ul>
    <ul class="nav navbar-nav navbar-right">
        <li><a href="#">Right</a></li>
    </ul>
  </div>
</nav>

@media (min-width: 768px) {
  .navbar-nav.navbar-center {
    position: absolute;
    left: 50%;
    transform: translatex(-50%);
  }
}

http://bootply.com/SGYC6BWeBK

オプション 3 - ブランドとリンクの両方を中央に配置する

ここに画像の説明を入力

.navbar .navbar-header,
.navbar-collapse {
    float:none;
    display:inline-block;
    vertical-align: top;
}

@media (max-width: 768px) {
    .navbar-collapse  {
        display: block;
    }
}

http://codeply.com/go/1lrdvNH9GI

その他の例:

左ブランド、中央リンク
左トグル、中央ブランド

3.x については、nav-justified: Bootstrap center navbarも参照してください。


Bootstrap
Bootstrap 4 で Navbar を中央揃え Navbar 項目を右に揃える

于 2013-12-03T21:27:34.540 に答える
36

似たようなもの (左、中央、右揃えのアイテム) が必要でしたが、中央に配置されたアイテムをアクティブとしてマークする機能がありました。私にとってうまくいったのは:

http://www.bootply.com/CSI2KcCoEM

<nav class="navbar navbar-default" role="navigation">
  <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>    
  </div>
  <div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
      <li class="navbar-left"><a href="#">Left 1</a></li>
      <li class="navbar-left"><a href="#">Left 2</a></li>
      <li class="active"><a href="#">Center 1</a></li>
      <li><a href="#">Center 2</a></li>
      <li><a href="#">Center 3</a></li>
      <li class="navbar-right"><a href="#">Right 1</a></li>
      <li class="navbar-right"><a href="#">Right 2</a></li>
    </ul>
  </div>
</nav>

CSS:

@media (min-width: 768px) {
  .navbar-nav {
    width: 100%;
    text-align: center;
  }
  .navbar-nav > li {
    float: none;
    display: inline-block;
  }
  .navbar-nav > li.navbar-right {
    float: right !important;
  }
}
于 2014-10-26T15:54:46.047 に答える
35

Bootstrap 4 (アルファ 6 以降)

ナビゲーションバーはフレックスボックスで構築されています! float の代わりに、flexbox と margin ユーティリティが必要です。

divで右揃えを使用する場合justify-content-end:collapse

<div class="collapse navbar-collapse justify-content-end">
  <ul class="navbar-nav">
    <li class="nav-item active">
      <a class="nav-link" href="#">Home</a>
    </li>
  </ul>
</div>

完全な例はこちら: https://jsbin.com/kemawa/edit?output

于 2017-01-08T04:29:03.047 に答える
1

これは時代遅れの質問ですが、ブートストラップ github ページから直接共有する別の解決策を見つけました。ドキュメントは更新されておらず、わずかに異なる質問ではありますが、同じ解決策を求める SO に関する他の質問があります。この解決策はあなたのケースに固有のものではありませんが、ご覧のとおり、解決策は<div class="container">直後ですが、必要に応じ<nav class="navbar navbar-default navbar-fixed-top">て置き換えることもでき<div class="container-fluid"ます。

<!DOCTYPE html>
<html>

<head>
  <title>Navbar right padding broken </title>
  <script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script>
  <link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" />
</head>

<body>
  <nav class="navbar navbar-default navbar-fixed-top">
    <div class="container">
      <div class="navbar-header">
        <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
        </button>
        <a href="#/" class="navbar-brand">Hello</a>
      </div>
      <div class="collapse navbar-collapse navbar-ex1-collapse">

        <ul class="nav navbar-nav navbar-right">
          <li>
            <div class="btn-group navbar-btn" role="group" aria-label="...">
              <button type="button" class="btn btn-default" data-toggle="modal" data-target="#modalLogin">Se connecter</button>
              <button type="button" class="btn btn-default" data-toggle="modal" data-target="#modalSignin">Créer un compte</button>
            </div>
          </li>
        </ul>
      </div>
    </div>
  </nav>
</body>

</html>

解決策は、このページのフィドルで見つかりました: https://github.com/twbs/bootstrap/issues/18362

V3 では修正されません。

于 2016-02-09T04:12:02.890 に答える
1

左、中央、右のアイテムの内容に応じて、次の方法がより良い解決策であることがわかりました。マージンなしの 100% の幅は、div のオーバーラップを引き起こし、アンカー タグが正しく機能するのを妨げていました。

.navbar-brand
{
    position: absolute;
    width: 100%;
    left: 0;
    margin: auto;
    margin-left: 48%;
}
于 2014-05-29T09:24:12.043 に答える