Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Twitter Bootstrap: Center Pills

My question is how you can center the pills?

I've tried to add center block around and also to change the float:left to float:center but nothing helps.

like image 581
glenn Avatar asked Aug 23 '11 17:08

glenn


People also ask

How do I center a NAV pill in bootstrap?

We can use Bootstrap's inbuilt text alignment class text-center to center a pill or a group of pills. If we add the class text-center to the parent container of the pill, we can center align pills.

What are pills in bootstrap?

Bootstrap 5 Pills component. Pills are quasi-navigation components which can highly improve website clarity and increase user experience.

How do I change the active tab in bootstrap?

To make the tabs toggleable, add the data-toggle="tab" attribute to each link. Then add a .tab-pane class with a unique ID for every tab and wrap them inside a <div> element with class .tab-content .

How do I make my nav tab active?

With the help of HTML, CSS, and JavaScript, it is possible to create a navigation menu with a curved active tab. This can be done by using the ::before and ::after pseudo-elements to create the desired shape, and then using JavaScript to add the active class to the element.


2 Answers

This has gotten much simpler! You just need to use the text-center class on the container, and apply display:inline-block to the ul. Just make sure you have a line break or paragraph tag separating the nav from any other elements within the container.

Done! 2 class additions, 1 line of CSS (don't modify the bootstrap css file!).

HTML:

<div class="col-md-12 text-center">     <p>Copyright stuff</p>     <ul class="nav nav-pills center-pills">         <li><a href="#">Footer nav link</a></li>         <li><a href="#">Footer nav link</a></li>     </ul> </div> 

CSS:

.center-pills { display: inline-block; } 


Edit 2015: As Artur Beljajev has brought up, Flexbox support is now common enough that you may want to use that instead:

.center-pills {     display: flex;     justify-content: center; } 
like image 171
Preston Badeer Avatar answered Sep 21 '22 10:09

Preston Badeer


If you'd like variable width pills in a variable width container, I'd suggest using the inline-block display type and adding a class to the pill container.

Here is how I extended bootstrap for centering pills.

CSS:

.centered-pills { text-align:center; } .centered-pills ul.nav-pills { display:inline-block; } .centered-pills li { display:inline; } .centered-pills a { float:left; } * html .centered-pills ul.nav-pills { display:inline; } /* IE6 */ *+html .centered-pills ul.nav-pills { display:inline; } /* IE7 */ 

HTML:

<div class="row">   <div class="span12 centered-pills">     <ul class="nav nav-pills">       <li><a href="#">derek</a></li>       <li><a href="#">brooks</a></li>       <li><a href="#">is</a></li>       <li><a href="#">super</a></li>       <li class="active"><a href="#">awesome</a></li>     </ul>   </div> </div> 
like image 33
broox Avatar answered Sep 17 '22 10:09

broox