2013-08-30 32 views
14

ブートストラップ< = 2のハックを見たことがありますが、私はv3を使用していて、行/コンテナの中央にあるリンクの水平行を作成します。ここに私のマークアップです:アダムの提案@をするブートストラップ3:中央のナビゲーションバーの作成方法

<div class="footer row">  
    <div class="col-12">     
     <ul id="menu-main" class="nav navbar-nav"> 
      <li class="text-center"> 
       <%= link_to "Home", root_path %> 
      </li> 
      <li class="text-center"> 
       <%= link_to "About", root_path %>   
      </li> 
      <li class="text-center"> 
       <%= link_to "Help", root_path %>   
      </li> 
     </ul> 
    </div> 
</div> 
+0

あなたはグリッドシステムの下の文書を見たことがあります>ネスティング列http://getbootstrap.com/css/ –

+2

ブートストラップ3つの例をご覧ください。 [これはあなたが探しているもののように聞こえる](http://getbootstrap.com/examples/justified-nav/) – Schmalzy

+0

@Schmalzy正当化されたnavは素晴らしいですが、私はページ全体のリンクを張り出したくありません。私は少数しか持っていないので、彼らは通常の間隔で中心にしたい。 – emersonthis

答えて

62

これはあなたが探しているものと正確に一致するはずです。

Here is a jsFiddle Demo

あなたは、固定フッターとしてこれをしたい場合は、単に<nav class="navbar navbar-default" role="navigation">要素にnavbar-fixed-bottomクラスを追加します。

HTML

<nav class="navbar navbar-default" role="navigation"> 
    <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> 
    </div> 

    <div class="collapse navbar-collapse navbar-ex1-collapse"> 
     <ul class="nav navbar-nav"> 
     <li class="active"><a href="#">Link</a></li> 
     <li><a href="#">Link</a></li> 
     <li><a href="#">Link</a></li> 
     </ul> 
    </div> 
</nav> 

CSS

@media (min-width: 768px){ 
    .navbar-nav{ 
     float:none; 
     margin: 0 auto; 
     display: table; 
     table-layout: fixed; 
    } 
} 
+0

IE 8以外ではこれは私にとっては役に立ちます – Ruben

+1

@Rubenあなたは 'Respond.js'を使用していますか? IE8とIE9のメディアクエリに必要です。これに関する詳細は、[ブートストラップブラウザサポート文書](http://getbootstrap.com/getting-started/#browsers)を参照してください。 – Schmalzy

+0

レイアウトは固定されていますか? – danza

1

同様に、私は、これは基本的に動作することを参照してください。

<div class="footer row">  

      <ul id="menu-main" class="list-inline text-center"> 
       <li class="text-center"> 
        <%= link_to "Home", root_path %> 
       </li> 
       <li class="text-center"> 
        <%= link_to "About", root_path %>   
       </li> 
       <li class="text-center"> 
        <%= link_to "Help", root_path %>   
       </li> 
       <li class="text-center"> 
        <%= mail_to "[email protected]", "Contact" %> 
       </li> 
      </ul> 
    </div> 

しかし、それはナビゲーションバーのような小さい幅に崩壊しないだろう。誰かがどのように知っていれば、この機能を維持するのがいいでしょう。

+0

私は自分の答えを編集しました。 –

0

.nav.navbar-nav { 
 
    display: flex; 
 
    justify-content: center; 
 
    flex-wrap: wrap; 
 
} 
 

 
@media (min-width: 768px) { 
 
    .navbar-nav { 
 
    float: none; 
 
    } 
 
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" /> 
 

 
    <nav class="navbar navbar-default"> 
 
     <div class="container-fluid"> 
 
     <ul class="nav navbar-nav"> 
 
      <li><a href="#">Home</a></li> 
 
      <li><a href="#">About</a></li> 
 
      <li><a href="#">Help</a></li> 
 
     </ul> 
 
     </div> 
 
    </nav>

0

#menu-main{ 
 
    width: 100%; 
 
    text-align: center; 
 
    display:block; 
 
} 
 
#menu-main li { 
 
    display: inline-block; 
 
    float: none; 
 
    vertical-align: top; 
 
} 
 
#menu-main a{ 
 
    display: block; 
 
    padding: 10px; 
 
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/> 
 

 
<div class="footer row">  
 
    <div class="col-12">     
 
     <ul id="menu-main" class="nav navbar-nav"> 
 
      <li> 
 
       <a href="#">Home</a> 
 
      </li> 
 
      <li> 
 
       <a href="#">About</a> 
 
      </li> 
 
      <li> 
 
       <a href="#">Help</a> 
 
      </li> 
 
     </ul> 
 
    </div> 
 
</div>

関連する問題