CSS Bootstrap 3:如何制作居中的导航栏
声明:本页面是StackOverFlow热门问题的中英对照翻译,遵循CC BY-SA 4.0协议,如果您需要使用它,必须同样遵循CC BY-SA许可,注明原文地址和作者信息,同时你必须将它归于原作者(不是我):StackOverFlow
原文地址: http://stackoverflow.com/questions/18535441/
Warning: these are provided under cc-by-sa 4.0 license. You are free to use/share it, But you must attribute it to the original authors (not me):
StackOverFlow
Bootstrap 3: How to make a centered navbar
提问by emersonthis
I've seen some hacks for Bootstrap <=2 but I'm using v3 and I want to make a horizontal row of links that are centered within the row/container. Here's my markup:
我已经看到了 Bootstrap <=2 的一些技巧,但我使用的是 v3,我想制作一排以行/容器为中心的水平链接。这是我的标记:
<div class="footer row">
<div class="col-12">
<ul id="menu-main" class="nav navbar-nav">
<li class="text-center">
<%= link_to "Home", root_path %>
</li>
<li class="text-center">
<%= link_to "About", root_path %>
</li>
<li class="text-center">
<%= link_to "Help", root_path %>
</li>
</ul>
</div>
</div>
回答by Schmalzy
This should be exactly what you are looking for.
这应该正是您正在寻找的。
If you want this as a fixed-footer, just add navbar-fixed-bottom
class to the <nav class="navbar navbar-default" role="navigation">
element.
如果您希望将其作为固定页脚,只需navbar-fixed-bottom
向<nav class="navbar navbar-default" role="navigation">
元素添加类即可。
HTML
HTML
<nav class="navbar navbar-default" role="navigation">
<div class="navbar-header">
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-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 navbar-ex1-collapse">
<ul class="nav navbar-nav">
<li class="active"><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
<li><a href="#">Link</a></li>
</ul>
</div>
</nav>
CSS
CSS
@media (min-width: 768px){
.navbar-nav{
float:none;
margin: 0 auto;
display: table;
table-layout: fixed;
}
}
回答by Milan Agheda
#menu-main{
width: 100%;
text-align: center;
display:block;
}
#menu-main li {
display: inline-block;
float: none;
vertical-align: top;
}
#menu-main a{
display: block;
padding: 10px;
}
<link href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" rel="stylesheet"/>
<div class="footer row">
<div class="col-12">
<ul id="menu-main" class="nav navbar-nav">
<li>
<a href="#">Home</a>
</li>
<li>
<a href="#">About</a>
</li>
<li>
<a href="#">Help</a>
</li>
</ul>
</div>
</div>
回答by antelove
.nav.navbar-nav {
display: flex;
justify-content: center;
flex-wrap: wrap;
}
@media (min-width: 768px) {
.navbar-nav {
float: none;
}
}
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" />
<nav class="navbar navbar-default">
<div class="container-fluid">
<ul class="nav navbar-nav">
<li><a href="#">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Help</a></li>
</ul>
</div>
</nav>
回答by emersonthis
Similar to @Adam's suggestion, I see that this basically works:
与@Adam 的建议类似,我看到这基本上有效:
<div class="footer row">
<ul id="menu-main" class="list-inline text-center">
<li class="text-center">
<%= link_to "Home", root_path %>
</li>
<li class="text-center">
<%= link_to "About", root_path %>
</li>
<li class="text-center">
<%= link_to "Help", root_path %>
</li>
<li class="text-center">
<%= mail_to "[email protected]", "Contact" %>
</li>
</ul>
</div>
However, it won't collapse on smaller widths like a navbar. It would be nice to maintain this functionality if someone knows how.
但是,它不会像导航栏那样在较小的宽度上折叠。如果有人知道如何维护此功能会很好。
回答by Shadi Namrouti
I suggest to give the navbar a side margin of 25%:
我建议给导航栏一个 25% 的边距:
CSS
CSS
@media (min-width: 768px) {
.centered-ul{
margin-left:25%;
}
}
HTML
HTML
<ul class="nav navbar-nav centered-ul">
...
</ul>