2013-08-30 30 views
14

Widziałem kilka hacków dla Bootstrapa < = 2, ale używam wersji 3 i chcę utworzyć poziomy rząd linków, które są wyśrodkowane wewnątrz wiersza/kontenera. Tu jest mój znaczników:Bootstrap 3: Jak zrobić wyśrodkowany pasek nawigacyjny

<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

Widziałeś dokumentację pod system sieci> zagnieżdżanie Kolumny http://getbootstrap.com/css/ –

+2

Sprawdź Bootstrap 3 przykłady. [To brzmi jak to, czego szukasz.] (Http://getbootstrap.com/examples/justified-nav/) – Schmalzy

+0

@Schmalzy Justified nav jest fajny, ale nie chcę przekierowywać linków na stronę. Mam tylko kilka, więc chcę, żeby były w centrum, w normalnych odstępach. – emersonthis

Odpowiedz

62

To powinno być dokładnie to, czego szukasz.

Here is a jsFiddle Demo

Jeśli chcesz to jako stałej stopce, wystarczy dodać navbar-fixed-bottom klasy do elementu <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

to działa dla mnie z wyjątkiem IE 8 – Ruben

+1

@Ruben Używasz 'Respond.js'? Jest to wymagane w przypadku zapytań o media w IE8 i IE9 Więcej informacji na ten temat można znaleźć w [Dokumentach wsparcia przeglądarki Bootstrap] (http://getbootstrap.com/getting-started/#browsers). – Schmalzy

+0

do czego jest przeznaczony układ? to działa dla mnie również bez tego – danza

1

podobne do @ sugestii Adama, widzę, że to w zasadzie działa:

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

Jednak nie zapadnie na mniejszych szerokościach niczym paska nawigacyjnego. Byłoby miło zachować tę funkcjonalność, jeśli ktoś wie jak.

+0

Edytowałem swoją odpowiedź. –

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>

Powiązane problemy