Содержимое центра в ответном бутстрапе navbar
У меня возникли проблемы с центрированием моего контента в бутстрап-навигаторе. Я использую 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>
https://jsfiddle.net/amk07fb3/
Ответы
Ответ 1
Я думаю, что это то, что вы ищете. Вам нужно удалить 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/
Ответ 2
В оригинальной статье было задано вопрос о том, как центрировать свернутый навигатор. Чтобы центрировать элементы на обычном навигаторе, попробуйте следующее:
.navbar-nav {
float:none;
margin:0 auto;
display: block;
text-align: center;
}
.navbar-nav > li {
display: inline-block;
float:none;
}
Ответ 3
Другой способ сделать это для макетов, которые не должны размещать навигационную панель внутри контейнера, и которая не требует переопределения CSS или Bootstrap.
Просто разместите div с классом Bootstrap container
вокруг навигационной панели. Это будет центрировать ссылки внутри навигационной панели:
<nav class="navbar navbar-default">
<!-- here 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 -->
Если вы хотите, чтобы затем выровняли содержимое тела в центре navbar, вы также помещаете это содержимое тела в тег Bootstrap container
.
<div class="container">
<! -- body content here -->
</div>
Не все могут использовать этот тип макета (некоторым людям нужно встраивать navbar внутри container
). Тем не менее, если вы можете это сделать, это простой способ получить ваши навигационные ссылки и центр тела.
Вы можете увидеть результаты на этой полной странице JSFiddle:
http://jsfiddle.net/bdd9U/231/embedded/result/
Источник:
http://jsfiddle.net/bdd9U/229/
Ответ 4
Этот код работал у меня
.navbar .navbar-nav {
display: inline-block;
float: none;
}
.navbar .navbar-collapse {
text-align: center;
}
Ответ 5
с официального сайта начальной загрузки (и, почти, как сказал Эрик С. Буллингтон.
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= "контейнером" и навигацией справа или слева, и, конечно, вы можете заменить id на класс.: D
Ответ 6
Кажется, что все эти ответы включают пользовательский css поверх бутстрапа. Ответ, который я предоставляю, использует только бутстрап, поэтому я надеюсь, что он будет использоваться для тех, кто хочет ограничить настройки.
Это было протестировано с помощью 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>
Ответ 7
Обновление 2017
Еще один сценарий, на который пока, похоже, не ответил, - это центрирование и брендов и навигационных ссылок. Здесь решение..
.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
Также смотрите:
Bootstrap NavBar с выровненными влево, в центре и вправо деталями
Ответ 8
Использовать следующий 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;
}
Изменить в соответствии с вашими потребностями
Ответ 9
V4 из BootStrap добавляет Center (justify-content-center) и Right 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>