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

提示:将鼠标放在中文语句上可以显示对应的英文。显示中英文
时间:2020-08-30 00:11:46  来源:igfitidea点击:

Bootstrap 3: How to make a centered navbar

csstwitter-bootstraptwitter-bootstrap-3

提问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.

这应该正是您正在寻找的。

Here is a jsFiddle Demo

这是一个 jsFiddle 演示

If you want this as a fixed-footer, just add navbar-fixed-bottomclass 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>