Центр неупорядоченный список navbar - бутстрап 3
Итак, я пытаюсь центрировать мои пункты списка навигационных баров. Поскольку для этой задачи нет функции утилиты, я разработал следующий код, который помещает неупорядоченный список в столбец внутри строки. Но список по-прежнему оправдан влево даже после того, как я попытаюсь сосредоточиться со старым "text-align: center"
<div class="navbar navbar-fixed-top ">
<!--<a class="navbar-brand" href="#">Title</a> -->
<div class= "row">
<div style="border:1px solid black;text-align:center;" class="col-4 col-offset-4">
<ul class="nav navbar-nav">
<li class="active"><a href="/">Home</a></li>
<li><a href="#">About</a></li>
<li><a href="#">Projects</a></li>
<li><a href="#">Contact</a></li>
</ul>
</div>
</div>
</div>
Ответы
Ответ 1
Я смог понять это самостоятельно. Не уверен, что это лучшее решение:
<div class="navbar navbar-fixed-top">
<div style="border:1px solid black" class="container">
<div class="inner-nav">
<!--<a href="#" class="navbar-brand">Title</a> -->
<ul class="nav navbar-nav">
<li class="active"><a href="/" >Home</a></li>
<li><a href="#" >About</a></li>
<li><a href="#" >Projects</a></li>
<li><a href="#" >contact</a></li>
</ul>
</div>
</div>
</div>
Затем я добавил следующие стили в bootstrap.css:
/* ADDED for centering navbar items */
.navbar .inner-nav ul {
position:relative;left:50%;float:left;margin-right:0;margin-left:0;
}
/* ADDED for centering navbar items */
.navbar .inner-nav li {
position:relative;right:50%;float:left;margin:0;list-style:none
}
Ответ 2
Шаги, которые я сделал:
- Удалить
float: left
из элементов списка и списка
- Используйте
display: inline
вместо элементов списка
- Установить ссылки на
display: inline-block
, чтобы они сохраняли размеры блоков
- Просто добавьте
text-align: center
в навигационную панель, чтобы центрировать все
- Оберните в медиа-запрос, поэтому вертикальный список на мобильном телефоне не затронут.
Результат CSS добавления стиля .navbar-centered
:
@media (min-width: 768px) {
.navbar-centered .navbar-nav {
float: none;
text-align: center;
}
.navbar-centered .navbar-nav > li {
float: none;
}
.navbar-centered .nav > li {
display: inline;
}
.navbar-centered .nav > li > a {
display: inline-block;
}
}
Используйте, применяя стиль .navbar-centered
для навигации:
<div class="navbar navbar-default navbar-centered" role="navigation">
...
</div>
Ответ 3
Вот код, который я сделал вчера, отлично работает с Bootstrap 3 RC1. Надеюсь, это поможет вам.
<nav class="navbar navbar-fixed-top">
<div class="container">
<a href="#" class="navbar-brand">Title</a>
<ul class="nav navbar-nav">
<li class="active"><a href="#" >Home</a></li>
<li><a href="#" >Services</a></li>
</ul>
</div>
</nav>
Сообщите мне, если проблема все еще существует.
Изменить: Удалена ненужная разметка