在响应式引导程序导航栏中心内容
我无法将自己的内容集中在引导栏中。 我正在使用引导3.我读了很多post,但CSS或使用的方法不能用我的代码! 我真的很沮丧,所以这是我最后的select。 任何帮助将不胜感激!
<!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/
我想这就是你要找的。 您需要从内部导航中删除float: left
居中,并使其成为内联块。
.navbar .navbar-nav { display: inline-block; float: none; vertical-align: top; } .navbar .navbar-collapse { text-align: center; }
编辑:如果您只想在导航未折叠时发生此效应,请将其包含在适当的媒体查询中。
@media (min-width: 768px) { .navbar .navbar-nav { display: inline-block; float: none; vertical-align: top; } .navbar .navbar-collapse { text-align: center; } }
原来的post是问如何中心折叠的导航栏。 要正常导航栏中的元素居中,请尝试以下操作:
.navbar-nav { float:none; margin:0 auto; display: block; text-align: center; } .navbar-nav > li { display: inline-block; float:none; }
还有另外一种方法可以做到这一点,不需要将navbar放在容器中,也不需要任何CSS或Bootstrap覆盖。
只需在导航栏中放置一个带有Bootstrap container
类的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 -->
如果您希望将主体内容与中心导航栏alignment,则还可以将该主体内容放置在引导程序container
标记中。
<div class="container"> <! -- body content here --> </div>
不是每个人都可以使用这种types的布局(有些人需要将导航栏本身embeddedcontainer
)。 但是,如果你能做到这一点,这是一个简单的方法来获得您的导航栏和身体为中心。
你可以在这个完整的JSFiddle中看到结果: http : //jsfiddle.net/bdd9U/231/embedded/result/
来源: http : //jsfiddle.net/bdd9U/229/
此代码为我工作
.navbar .navbar-nav { display: inline-block; float: none; } .navbar .navbar-collapse { text-align: center; }
从bootstrap官方网站(几乎和Eric S. Bullington一样)说。
https://getbootstrap.com/components/#navbar-default
示例navbar如下所示:
<nav class="navbar navbar-default"> <div class="container-fluid"> <!-- Brand and toggle get grouped for better mobile display --> <div class="navbar-header"> ...etc
以导航为中心,那我做了什么:
<div class="container-fluid" id="nav_center">
CSS:
@media (min-width:768px) { /* don't break navbar on small screen */ #nav_center { width: 700px /* need to found your width according to your entry*/ } }
使用class =“container”和navbar的右边或左边,当然你可以用classreplaceid。 :d
看起来像所有这些答案都涉及引导自定义CSS。 我提供的答案只利用引导,所以我希望它来为那些想要限制自定义。
这是用Bootstrap V3.3.7testing的
<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>
2017年更新
另一种似乎还没有得到解决的scheme是将品牌和导航链接集中在一起 。 这是一个解决scheme..
.navbar .navbar-header, .navbar-collapse { float:none; display:inline-block; vertical-align: top; } @media (max-width: 768px) { .navbar-collapse { display: block; } }
http://www.codeply.com/go/1lrdvNH9GI
另请参阅: 带有左,中间和右alignment项目的Bootstrap NavBar
使用下面的html
<link rel="stylesheet" href="app/components/directives/navBar/navBar.scss"/> <nav class="navbar navbar-default" role="navigation"> <div class="container-fluid"> <!-- Collect the nav links, forms, and other content for toggling --> <ul class="nav navbar-nav"> <li><h5><a href="#/">Home</a></h5></li> <li>|</li> <li><h5><a href="#products">About</a></h5></li> <li>|</li> <li><h5><a href="#">Contacts</a></h5></li> <li>|</li> <li><h5><a href="#cart">Cart</a></h5></li> </ul> </div><!-- /.container-fluid --> </nav>
和css
.navbar-nav { width: 100%; text-align: center; } .navbar-nav > li { float: none; display: inline-block; } .navbar-default { background-color: white; border-color: white; } .navbar-default .navbar-nav>.active>a, .navbar-default .navbar-nav>.active>a:hover, .navbar-default .navbar-nav>.active>a:focus{ background-color:white; }
根据您的需要修改
BootStrap的V4添加中心(justify-content-center)和右alignment(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>