我在引导导航栏的内容中心有麻烦。我用的是自举3。我读过很多文章,但CSS或方法使用不了我的代码!我真的很沮丧,所以这是我最后的选择。任何帮助都将不胜感激!

<!DOCTYPE html>
<html>
  <head>
    <title>Navigation</title>
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <!-- Bootstrap -->
    <link href="css/bootstrap.min.css" rel="stylesheet" media="screen">
    <link href="css/style.css" rel="stylesheet" media="screen">
  </head>
  <body>
    <div class="container">
      <nav class="navbar navbar-default" role="navigation">
        <!-- Brand and toggle get grouped for better mobile display -->
        <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>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <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>
            <li class="dropdown">
              <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown <b class="caret"></b></a>
              <ul class="dropdown-menu">
                <li><a href="#">Action</a></li>
                <li><a href="#">Another action</a></li>
                <li><a href="#">Something else here</a></li>
                <li><a href="#">Separated link</a></li>
                <li><a href="#">One more separated link</a></li>
              </ul>
            </li>
          </ul>
        </div><!-- /.navbar-collapse -->
      </nav>
      <h1>Home</h1>

   </div>
     <!--JAVASCRIPT-->
   <script src="js/jquery-1.10.2.min.js"></script>
   <script src="js/bootstrap.min.js"></script>
 </body>
</html>

https://jsfiddle.net/amk07fb3/


当前回答

还有另一种方法来做布局,不需要把导航条放在容器内,也不需要任何CSS或Bootstrap覆盖。

只需在导航栏周围放置一个带有Bootstrap容器类的div。这将在导航栏中居中链接:

<nav class="navbar navbar-default">
  <!-- here's where you put the container tag -->
  <div class="container">

    <div class="navbar-header">
    <!-- header and collapsed icon here -->
    </div>

    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
      <!-- links here -->
      </ul>
    </div>
  </div> <!-- close the container tag -->
</nav> <!-- close the nav tag -->

如果你想要将主体内容对齐到中心导航栏,你也可以将主体内容放在Bootstrap容器标签中。

<div class="container">
  <! -- body content here -->
</div>

不是每个人都可以使用这种类型的布局(有些人需要将导航条本身嵌套在容器中)。尽管如此,如果你能做到这一点,这是一个简单的方法,让你的导航栏链接和主体居中。

你可以在这个整页JSFiddle中看到结果: http://jsfiddle.net/bdd9U/231/embedded/result/

来源: http://jsfiddle.net/bdd9U/229/

其他回答

BootStrap的V4正在添加中心(justify-content-center)和右对齐(justify-content-end),根据:https://v4-alpha.getbootstrap.com/components/navs/#horizontal-alignment

<ul class="nav justify-content-center">
  <li class="nav-item">
    <a class="nav-link active" href="#">Active</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link" href="#">Link</a>
  </li>
  <li class="nav-item">
    <a class="nav-link disabled" href="#">Disabled</a>
  </li>
</ul>

我觉得这就是你要找的东西。你需要从内部导航中移除float: left以使其居中并使其成为一个内联块。

.navbar .navbar-nav {
  display: inline-block;
  float: none;
  vertical-align: top;
}

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

http://jsfiddle.net/bdd9U/2/

编辑:如果你只希望这个效果发生时,导航没有折叠围绕在适当的媒体查询。

@media (min-width: 768px) {
    .navbar .navbar-nav {
        display: inline-block;
        float: none;
        vertical-align: top;
    }

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

http://jsfiddle.net/bdd9U/3/

还有另一种方法来做布局,不需要把导航条放在容器内,也不需要任何CSS或Bootstrap覆盖。

只需在导航栏周围放置一个带有Bootstrap容器类的div。这将在导航栏中居中链接:

<nav class="navbar navbar-default">
  <!-- here's where you put the container tag -->
  <div class="container">

    <div class="navbar-header">
    <!-- header and collapsed icon here -->
    </div>

    <div class="collapse navbar-collapse">
      <ul class="nav navbar-nav">
      <!-- links here -->
      </ul>
    </div>
  </div> <!-- close the container tag -->
</nav> <!-- close the nav tag -->

如果你想要将主体内容对齐到中心导航栏,你也可以将主体内容放在Bootstrap容器标签中。

<div class="container">
  <! -- body content here -->
</div>

不是每个人都可以使用这种类型的布局(有些人需要将导航条本身嵌套在容器中)。尽管如此,如果你能做到这一点,这是一个简单的方法,让你的导航栏链接和主体居中。

你可以在这个整页JSFiddle中看到结果: http://jsfiddle.net/bdd9U/231/embedded/result/

来源: http://jsfiddle.net/bdd9U/229/

似乎所有这些答案都涉及自定义css在bootstrap之上。我提供的答案只是利用引导,所以我希望它能用于那些想要限制自定义的人。

这是用Bootstrap V3.3.7测试的

<footer class="navbar-default navbar-fixed-bottom">
    <div class="container-fluid">
        <div class="row">
            <div class="col-xs-offset-5 col-xs-2 text-center">
                <p>I am centered text<p>
            </div>
            <div class="col-xs-5"></div>
        </div>
    </div>
</footer>

引导5(更新2021年)

导航栏仍然是基于引导带5的flexbox和居中内容的工作一样,它与引导带4。例子

引导4

定心导航栏内容更容易是Bootstrap 4,你可以看到许多定心场景解释在这里:https://stackoverflow.com/a/20362024/171456

引导3

另一个似乎还没有回答的场景是品牌和导航栏链接的中心。这里有一个解决方案。

.navbar .navbar-header,
.navbar-collapse {
    float:none;
    display:inline-block;
    vertical-align: top;
}

@media (max-width: 768px) {
    .navbar-collapse  {
        display: block;
    }
}

http://codeply.com/go/1lrdvNH9GI

还看到: 引导导航栏左,中心或右对齐的项目