在 Twitter Bootstrap 中居中导航栏

37

我想让导航栏在页面中心对齐,并且在不同的分辨率下保持居中。我不想使用偏移量或margin-left来调整位置,因为这样会在不同的浏览器宽度下出现问题。以下是我正在处理的典型导航栏,但是ul始终左对齐。

     <div class="navbar navbar-fixed-top">
      <div class="navbar-inner">
           <div class="container">
                <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>
                <div class="nav-collapse">
                     <ul class="nav">
                          <li class="active"><a href="#">Menu</a></li>
                          <li><a href="#">On Tap</a></li>
                          <li><a href="#">Shows</a></li>
                          <li><a href="#">Surfwear</a></li>
                          <li><a href="#" >Contact</a></li>
                     </ul>
                </div><!--/.nav-collapse -->
           </div><!-- container -->
      </div><!-- navbar-inner -->
 </div><!--  navbar navbar-fixed-top -->

你可以更新一个 http://jsfiddle.net/ 的演示吗? - Luis
1
jsfiddled: 问题最佳答案(Bootstrap 2.3.2) - Jake Berger
8个回答

57

可能是一个重复的问题,参考:修改 Twitter Bootstrap 导航栏。 我猜这就是你要找的内容(已复制):

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

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

如链接答案所述,您应该创建一个具有这些属性的新类,并将其添加到导航(div)中。


这个很好用,但我需要在除了桌面之外的所有宽度上关闭它。只需在媒体查询中将这些内容设置为:none? - Jordan
1
如果您想让它适用于Bootstrap 3,请将“.navbar-inner”更改为“.navbar-collapse”。 - darronz

7

如果有人需要适用于Bootstrap 3的翻译,现在变得更加容易了。

新的nav-justified类可用于将所有导航栏链接居中显示。

http://www.bootply.com/g3g125MLGr

<div class="navbar">
  <ul class="nav nav-justified" id="myNav">
    <li><a href="#">Home</a></li>
    <li><a href="#">Link</a></li>
    <li><a href="#">Link</a></li>
    <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>

通过一些CSS代码,您可以将品牌/标志居中,并保持左/右链接分开。 http://www.bootply.com/3iSOTAyumP

5
你可以将.navbar设置为固定宽度,然后将其左右边距设置为auto
演示: Demo
.navbar{
    width: 80%;
    margin: 0 auto;
}​

3
将导航栏居中,但不将导航栏中的内容居中。 - pelachile
简单。这个对我有效,另一个不行。 - Joris

0
.navbar-right { 
    margin-left:auto;
    margin-right:auto; 
    max-width :40%;   
    float:none !important;
}

只需复制此代码并根据需要更改max-width


0

关于Bootstrap v4,请查看以下内容:

https://v4-alpha.getbootstrap.com/components/pagination/#alignment

只需将类添加到ul.pagination。
<nav">
  <ul class="pagination justify-content-center">
    <li class="page-item disabled">
      <a class="page-link" href="#" tabindex="-1">Previous</a>
    </li>
    <li class="page-item"><a class="page-link" href="#">1</a></li>
    <li class="page-item"><a class="page-link" href="#">2</a></li>
    <li class="page-item"><a class="page-link" href="#">3</a></li>
    <li class="page-item">
      <a class="page-link" href="#">Next</a>
    </li>
  </ul>
</nav>

0
我更喜欢这个:
<nav class="navbar">
  <div class="hidden-xs hidden-sm" style="position: absolute;left: 50%;margin-left:-56px;width:112px" id="centered-div">
    <!-- this element is on the center of the nav, visible only on -md and -lg -->
    <a></a>
  </div>

  <div class="container-fluid">
    <!-- ...things with your navbar... -->
      <div class="visible-xs visible-sm">
        <!-- this element will be hidden on -md and -lg -->
      </div>
    <!-- ...things with your navbar... -->
  </div>
</nav>

该元素完美居中,并且在某些屏幕尺寸上将被隐藏(例如,在 -xs 和 -sm 上没有足够的空间)。我从 Twitter 的实际导航栏中得到了这个想法。

0

代码使用了基本的Bootstrap导航

<!--MENU CENTER`enter code here` RESPONSIVE -->

  <div class="container-fluid">
        <div class="container logo"><h1>LOGO</h1></div>
      <nav class="navbar navbar-default menu">
        <div class="container-fluid">
          <!-- Brand and toggle get grouped for better mobile display -->
          <div class="navbar-header">
            <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#defaultNavbar2"><span class="sr-only">Toggle navigation</span><span class="icon-bar"></span><span class="icon-bar"></span><span class="icon-bar"></span></button>
           </div>
          <!-- Collect the nav links, forms, and other content for toggling -->
          <div class="collapse navbar-collapse" id="defaultNavbar2">
            <ul class="nav nav-justified" >
              <li><a href="#">Home</a></li>
              <li><a href="#">Link</a></li>
              <li><a href="#">Link</a></li>
              <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>
          <!-- /.navbar-collapse -->
        </div>
        <!-- /.container-fluid -->
      </nav>
    </div>
  <!-- END MENU-->


0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接