我在引导导航栏的内容中心有麻烦。我用的是自举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/
我觉得这就是你要找的东西。你需要从内部导航中移除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/
(几乎,就像Eric S. Bullington说的那样。
https://getbootstrap.com/components/#navbar-default
导航栏的示例如下:
<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-right或left,当然你也可以用class替换id。: D
使用以下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;
}
根据您的需要修改
引导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
还看到:
引导导航栏左,中心或右对齐的项目