2016-02-26 116 views
0

我知道这个话题有几个问题,我也跟着一些例子,以达到我现在的地步。品牌在中间的Bootstrap Navbar

问题是,它不是真的如我所愿。

让我更好地解释它:

基本上,我要的是一个居中标志一个导航栏,但菜单项中间对齐以及(所以我认为navbar-leftnavbar-right是不是最好的选择,因为菜单条目左右移动太远)。

目前,我好不容易才拥有的一切中心(http://codepen.io/nickimola/pen/MyWKrM):

<nav class="navbar navbar-default" role="navigation"> 
    <div class="navbar-header"> 
     <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1"> 
     <span class="sr-only">Toggle navigation</span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     <span class="icon-bar"></span> 
     </button> 
    </div> 
    <a class="navbar-brand" href="#"><img src="http://www.sdsi.pti.org.pl/var/ezwebin_site/storage/images/media/images/fujitsu-logo/7830-1-pol-PL/Fujitsu-logo_imagelarge.jpg" /></a> 
    <div class="collapse navbar-collapse" id="navbar-collapse-1"> 
     <ul class="nav navbar-nav"> 
     <li><a href="#">Link</a></li> 
     <li><a href="#">Link</a></li> 
     <li><a href="#">Link</a></li> 
     <li><a href="#">Link</a></li> 
     </ul> 
    </div> 
</nav> 

,我不知道现在是我该如何使含中间菜单项(一修改它的东西品牌)根据图像的宽度改变宽度。

我尝试添加一个宽度图像像这样(http://codepen.io/nickimola/pen/oxNbdB):

.navbar-brand img { 
    display: inline; 
    max-height: 100%; 
    width:120px; 
} 

但显然结果不是我所期待的。

除了这个尺寸问题,其他一切都按我想要的方式工作。 我需要一些帮助,因为这是我第一次使用bootstrap,我对它的工作原理还不是很熟悉。

感谢

编辑

后的一些工作,我设法在我想要的一点是几乎:http://codepen.io/nickimola/pen/XdWdWK?editors=1100

我还需要能够垂直对齐的菜单项和标志然后它应该准备好。

+0

你总是在导航栏4个链接项目? – Stickers

+0

是的。我将只有4页 – Nick

回答

1

我想你会需要一些JavaScript它。如下所示查看jQuery解决方案。

http://codepen.io/anon/pen/ZWEWaB

$(window).on('resize', function() { 
 
    if (window.innerWidth < 768) { 
 
    if ($('#logo').length != 0) { 
 
     $('.navbar-brand').unwrap('<li id="logo"></li>'); 
 
     $('.navbar-brand').insertAfter('.navbar-toggle'); 
 
    } 
 
    } else { 
 
    if ($('#logo').length == 0) { 
 
     $('.navbar-brand').wrap('<li id="logo"></li>'); 
 
     $('#logo').insertAfter('.navbar-nav li:nth-child(2)'); 
 
    } 
 
    } 
 
}).resize();
.navbar .navbar-brand img { 
 
    height: 100%; 
 
    width: auto; 
 
} 
 
@media (min-width: 768px) { 
 
    .navbar .navbar-nav { 
 
    width: 100%; 
 
    text-align: center; 
 
    } 
 
    .navbar .navbar-nav li { 
 
    float: none; 
 
    display: inline-block; 
 
    vertical-align: middle; 
 
    } 
 
}
<script src="https://code.jquery.com/jquery-2.2.1.min.js"></script> 
 
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css"> 
 
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js"></script> 
 

 
<nav class="navbar navbar-default" role="navigation"> 
 
    <div class="navbar-header"> 
 
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#navbar-collapse-1"> 
 
     <span class="sr-only">Toggle navigation</span> 
 
     <span class="icon-bar"></span> 
 
     <span class="icon-bar"></span> 
 
     <span class="icon-bar"></span> 
 
    </button> 
 
    <a class="navbar-brand" href="#"><img src="https://i.imgur.com/9kJixwN.png"></a> 
 
    </div> 
 
    <div class="collapse navbar-collapse" id="navbar-collapse-1"> 
 
    <ul class="nav navbar-nav"> 
 
     <li><a href="#">Link</a></li> 
 
     <li><a href="#">Link</a></li> 
 
     <li><a href="#">Link</a></li> 
 
     <li><a href="#">Link</a></li> 
 
    </ul> 
 
    </div> 
 
</nav>

+0

我有一个快速的样子,它接缝工作正常!我明天会正确地测试它,并让你知道。非常感谢:) – Nick

+0

真棒,这正是我需要的。非常感谢 – Nick

0

徽标不会推导向导项目的原因是因为您已将其定位到绝对位置,因此它不在文档流中。你可以做的是在导航项中使用n-child来给它一些空间。我在这里分叉您codepen:http://codepen.io/anon/pen/QNWyYP并添加这些样式:

ul.nav.navbar-nav > li:nth-child(2) { 
    margin-right: 40px; 
} 
ul.nav.navbar-nav > li:nth-child(3) { 
    margin-left: 40px; 
} 
+0

这部分解决了我的问题......好吧,公平点,我可以在左右两侧添加一些保证金,并且我要添加保证金,但菜单仍然不变如果图像尺寸发生变化,则不会自动调整尺寸 – Nick

+0

无法让徽标占据绝对空间的位置。如果你可以将它移动到列表中,那么可以这样做:http:// codepen。io/anon/pen/pyogXz – jameson

+0

请参阅我的编辑 – Nick

相关问题