我正在尝试在Bootstrap 3中证明navbar
(使导航栏内容延伸)。我已将margin: 0 auto; max-width: 1000px;
添加到nav*
类,并尝试添加container
元素作为ul
的父元素。作为最后一项检查,我通过将navbar-justified
添加到navbar
类来完成建议in this answer的建议,但这导致所有内容都在左边拼凑而不是整个导航栏的合理性。
执行nav nav-justified
ul
确实会成为ul
中心,但它不会保留navbar-nav
类的样式,因为它不属于ul
当屏幕小于768px时,它看起来不太好。
如何证明Bootstrap 3 navbar
?
编辑:对于那些对更完整答案感兴趣的人,这里有一些我在制作中使用的代码:
// Stylesheet
.navbar-nav>li {
float: none;
}
// Navbar
<nav class="navbar navbar-default">
<ul class="nav nav-justified navbar-nav">
<li><a href="/">Home</a></li>
<li><a href="group.html">Group</a></li>
<li><a href="services.html">Services</a></li>
<li><a href="positions.html">Positions</a></li>
</ul>
</nav>
here is a working jsFiddle。您可能需要拉伸result
框的大小才能正确显示。如果您对实际列表居中感兴趣而不将导航拉伸到全宽,请参阅David Taiaroa's jsFiddle。
答案 0 :(得分:65)
您可以使用以下方法证明导航栏内容的合理性:
@media (min-width: 768px){
.navbar-nav{
margin: 0 auto;
display: table;
table-layout: fixed;
float: none;
}
}
祝你好运!
答案 1 :(得分:36)
为了证明bootstrap 3 navbar-nav justify菜单的宽度为100%,您可以使用以下代码:
@media (min-width: 768px){
.navbar-nav {
margin: 0 auto;
display: table;
table-layout: auto;
float: none;
width: 100%;
}
.navbar-nav>li {
display: table-cell;
float: none;
text-align: center;
}
}
答案 2 :(得分:9)
事实证明,默认情况下,所有float: left
元素都有一个navbar-nav>li
属性,这就是为什么它们都向左爬行的原因。一旦我添加了下面的代码,它就会使navbar
居中并且不会被抬起。
.navbar-nav>li {
float: none;
}
希望这可以帮助那些希望以navbar
为中心的其他人。
答案 3 :(得分:4)
这是一个更简单的解决方案。只需删除“navbar-nav”类并添加“nav-justified”。
答案 4 :(得分:1)
<div class="navbar navbar-default navbar-fixed-top" role="navigation">
<div class="container">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-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">
<ul class="nav navbar-nav">
<li><a href="#">Home</a></li>
<li><a href="#about">About</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</div>
和css
@media ( min-width: 768px ) {
.navbar > .container {
text-align: center;
}
.navbar-header,.navbar-brand,.navbar .navbar-nav,.navbar .navbar-nav > li {
float: none;
display: inline-block;
}
.collapse.navbar-collapse {
width: auto;
clear: none;
}
}
答案 5 :(得分:0)
我知道这是一篇旧帖子,但我想分享我的解决方案。我花了几个小时试图制作合理的导航菜单。你真的不需要在bootstrap css中修改任何东西。只需要在html中添加正确的类。
<nav class="nav navbar-default navbar-fixed-top">
<div class="navbar-header">
<button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#collapsable-1" aria-expanded="false">
<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="#top">Brand Name</a>
</div>
<div class="collapse navbar-collapse" id="collapsable-1">
<ul class="nav nav-justified">
<li><a href="#about-me">About Me</a></li>
<li><a href="#skills">Skills</a></li>
<li><a href="#projects">Projects</a></li>
<li><a href="#contact-me">Contact Me</a></li>
</ul>
</div>
</nav>
当屏幕达到768px时,此CSS代码将简单地删除navbar-brand类。
media@(min-width: 768px){
.navbar-brand{
display: none;
}
}
答案 6 :(得分:0)
您好,您可以使用以下代码进行工作对齐导航
<div class="navbar navbar-inverse">
<ul class="navbar-nav nav nav-justified">
<li class="active"><a href="#">Inicio</a></li>
<li><a href="#">Item 1</a></li>
<li><a href="#">Item 2</a></li>
<li><a href="#">Item 3</a></li>
<li><a href="#">Item 4</a></li>
</ul>
</div>