Twitter Bootstrap:中心丸
我的问题是你如何能中心药片?
我试图添加中心块,也改变float:left
float:center
但没有任何帮助。
这变得更简单了! 您只需使用容器上的text-center
类,然后将display:inline-block
应用于ul
。 只要确保您有一个换行符或段落标记将nav与其他任何元素分隔开来。
完成! 2类增加,1行的CSS(不要修改引导的CSS文件!)。
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; }
编辑2015 :正如Artur Beljajev所提到的,Flexbox的支持现在已经足够普遍 ,您可能想要使用它:
.center-pills { display: flex; justify-content: center; }
如果你想在一个可变宽度的容器中使用可变宽度的药丸,我build议使用inline-block
显示types并向药丸容器添加一个类。
这是我如何扩大引导为定心丸。
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>
或者flexbox方法:
.nav-pills { display: flex; justify-content: center; }
如果你想要药片居中,而不是左alignment,你将需要改变CSS。 您将需要指定宽度并将边距更改为自动。
例如:
.tabs, .pills { margin: 0 auto; padding: 0; width: 400px; }
虽然@minaz的答案适用于已知宽度的列表,但是我会build议一个不同的解决scheme,即使您更改列表的内容,它也能正常工作:
.tabs, .pills { text-align: center; } .tabs li, .pills li { float: none; }
或者在SCSS:
.tabs, .pills { text-align: center; li { float: none; } }
这将使列表中的文本居中,并重置列表项的float
属性,使其受到text-align
属性的影响。