2013-08-30 50 views
14

我已經看到Bootstrap < = 2的一些黑客,但我使用的是v3,我想在行/容器中居中放置一個水平行鏈接。這裏是我的標記:Bootstrap 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對齊導航很酷,但我不想扇出整個頁面的鏈接。我只有幾個,所以我想他們只是以正常的間距居中。 – emersonthis

回答

62

這應該就是你正在尋找的。

Here is a jsFiddle Demo

如果你想這是一個固定的頁腳,只需添加navbar-fixed-bottom類的<nav class="navbar navbar-default" role="navigation">元素。

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>