响应式引导程序导航栏中的中心内容

Nic*_* lK 217 css navbar twitter-bootstrap

我无法将我的内容集中在引导程序导航栏中.我正在使用bootstrap 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>
Run Code Online (Sandbox Code Playgroud)

https://jsfiddle.net/amk07fb3/

haj*_*poj 453

我想这就是你要找的东西.您需要float: left从内部导航中删除它以使其居中并使其成为内联块.

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

.navbar .navbar-collapse {
  text-align: center;
}
Run Code Online (Sandbox Code Playgroud)

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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

  • 仅供参考,它与Bootstrap的.navbar-right混淆了 (18认同)
  • 我建议不要使用原始bootstrap.css.相反,创建自己的风格. (3认同)

小智 46

原帖是询问如何将折叠的导航栏居中.要将元素置于普通导航栏上,请尝试以下操作:

.navbar-nav {
    float:none;
    margin:0 auto;
    display: block;
    text-align: center;
}

.navbar-nav > li {
    display: inline-block;
    float:none;
}
Run Code Online (Sandbox Code Playgroud)


Eri*_*ton 19

对于布局而言,还有另一种方法可以将导航栏放在容器中,并且不需要任何CSS或Bootstrap覆盖.

只需container在导航栏周围放置一个带有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 -->
Run Code Online (Sandbox Code Playgroud)

如果您希望将主体内容对齐到中心导航栏,则还要将该主体内容放在Bootstrap container标记中.

<div class="container">
  <! -- body content here -->
</div>
Run Code Online (Sandbox Code Playgroud)

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

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

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

  • 嗯,这个解决方案似乎不再起作用了.您的示例现在保持对齐. (13认同)

Shu*_*man 12

这段代码对我有用

.navbar .navbar-nav {
    display: inline-block;
    float: none;
}
.navbar .navbar-collapse {
    text-align: center;
}
Run Code Online (Sandbox Code Playgroud)


Zim*_*Zim 6

更新2018

引导程序4

在Bootstrap 4中使Navbar内容居中更容易,您可以在此处看到许多居中场​​景的说明: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;
    }
}
Run Code Online (Sandbox Code Playgroud)

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

另请参阅: 具有左,中或右对齐项的Bootstrap NavBar


Hez*_*Ziv 5

对于Bootstrap 4:

只需使用

<ul class="navbar-nav mx-auto">
Run Code Online (Sandbox Code Playgroud)

mx-auto会做的

  • 如果我想在垂直方向上居中对齐怎么办? (2认同)