在Bootstrap导航栏中居中链接(在li内)

时间:2013-07-03 16:39:05

标签: html css css3 twitter-bootstrap

我已经实现了几乎解决我的问题的解决方案here,但是,我需要<ul class="nav">在整个导航栏之间居中,而不仅仅是邻近的元素它(我的情况为<a class="brand"><p class="navbar-text pull-right">)。

重要提示:我customized我的导航栏为96px而不是默认40px,我希望<ul class="nav">显示为居中,“其他元素下方”它将有自己的背景颜色等。

到目前为止,这是我的代码:

<div class="navbar navbar-inverse navbar-fixed-top center">
    <div class="navbar-inner">
        <div class="container-fluid">
            <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
                <span class="icon-bar"></span>
            </a>
            <a class="brand" href="/home"><img src="http://jayeshcp.files.wordpress.com/2013/03/twitter-bootstrap.jpg" style="width:400px;height:60px;" /></a>
            <div class="nav-collapse collapse">
                <ul class="nav">
                    <li><a href="#">One</a></li>
                    <li><a href="#">Two</a></li>
                    <li><a href="#">Three</a></li>
                    <li><a href="#">Four</a></li>
                </ul>
                <p class="navbar-text pull-right">
                    <input class="span2" type="text" placeholder="Email">
                    <input class="span2" type="password" placeholder="Password">
                </p>
            </div><!--/.nav-collapse -->
        </div>
    </div>
</div>

请注意我添加的额外center类 - 来自我链接到的解决方案。它看起来像这样:

.center.navbar .nav,
.center.navbar .nav > li {
    float:none;
    display:inline-block;
    *display:inline; /* ie7 fix */
    *zoom:1; /* hasLayout ie7 trigger */
    vertical-align: top;
}

.center .navbar-inner {
    text-align:center;
}

.center .dropdown-menu {
    text-align: left;
}

如何将ul居中并在不破坏Bootstrap中的所有内容的情况下将其填充到上面?如果有另一种货币,会提供超过赏金!

编辑:jsfiddle是here(我粘贴了整个缩小的css文件(使用自定义的导航栏高度),而不是引用它,抱歉。其下是其他自定义项。)< / p>

1 个答案:

答案 0 :(得分:0)

p.navbar-text
{
    float: none;
    position: relative;
    text-align: right;
}
.navbar .nav
{
    display:block !important;
    float: right !important;
    width: 100%;
}

jsfiddle:http://jsfiddle.net/C7LWm/103/

以下是将其置于下方而非下方的解决方案:

.navbar .nav
{
   position: absolute;
   left:0;
   right:0;
   width: 100%;
   background-color:yellow;
}
p.navbar-text
{
   width: 440px;
   text-align:right;
   position:relative;
   z-index:2
}
.navbar .brand 
{ 
   position: relative; 
   z-index:2; 
   padding: 0; 
   width: 30%;
   height: 60px;
   background-image: url('http://placehold.it/400x60&text=Your Logo Here');
   background-repeat: no-repeat; background-size: contain;
   margin: 18px 0;
   background-position: center left
}
.navbar .brand img
{
   display:none;
}

Jsfiddle:http://jsfiddle.net/C7LWm/109/