Бренд Bootstrap 4 center navbar с коллапсом

Начальная загрузка 4 Альфа 6

Кажется, я не могу понять, как сделать так, чтобы правая и левая ссылки рухнули. Сейчас только правое звено разваливается.

<nav id="topNav" class="navbar fixed-top navbar-toggleable-sm navbar-inverse bg-inverse">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target=".navbar-collapse">
    Menu
</button>
<div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        <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" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
    </ul>
</div>

<a class="navbar-brand mx-auto" href="#">NavBar</a>

<div class="navbar-collapse collapse">
    <ul class="nav navbar-nav ml-auto">
        <li class="nav-item">
            <a class="nav-link" href="#">About</a>
        </li>
    </ul>
</div>


person Emanuel    schedule 19.04.2017    source источник
comment
все элементы меню должны находиться в одном ‹div class=navbar-collapse Collapse›, чтобы функция сворачивания работала. Кнопка переключения будет нацелена только на 1 свернутый div, а не на несколько.   -  person Sahil Dhir    schedule 19.04.2017


Ответы (3)


В настоящее время в альфа-версии 6 свертывание поддерживает только одну цель..

Обновите Bootstrap 4.1

Вы можете абсолютно расположить бренд на больших экранах и использовать одно свертывание для двух навигационных панелей.

@media (min-width: 768px) {
.navbar-brand
    {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
    }
}

http://www.codeply.com/go/Sh05HDqIh1

См. также:
Центрировать элемент в Bootstrap 4 Navbar
Как центрировать элементы навигации в Bootstrap?< /а>

person Zim    schedule 19.04.2017
comment
Это перекрывает кнопки меню :( - person Robin-Manuel Thiel; 04.05.2018
comment
Как же так? У вас есть пример? - person Zim; 04.05.2018
comment
@ZimSystem Пример находится в вашем коде, он предлагает вам попробовать щелкнуть любую из ваших навигационных ссылок, и вы можете понять, что каждый раз, когда вместо этого вы нажимаете на логотип. Легко решается с помощью z-index: -1; - person ; 28.05.2018
comment
Спасибо, я обновил ответ и пример для Bootstrap 4.1.1. - person Zim; 28.05.2018
comment
Что, если вы хотите иметь возможность нажимать либо на бренд, либо на навигацию? - person backdesk; 23.10.2018
comment
Сейчас это отчасти работает, но по какой-то причине бренд перемещается вместе с меню, когда оно открыто. Кто-нибудь знает, что происходит? - person FireController1847; 14.11.2018
comment
вы можете использовать margin: 0 auto; вместо положения и оставленных свойств. - person R. Gurung; 13.07.2019

Вы должны обернуть оба меню ul в один navbar-collapse div. Кнопка переключения меню будет нацелена только на один свернутый раздел не на несколько. Так как ранее было два navbar-collapse.

Вот код, который вы должны использовать.

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" integrity="sha384-rwoIResjU2yc3z8GV/NPeZWAv56rSmLldC3R/AZzGRnGxQQKnKkoFVhFQhNUwEyJ" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.1.1.slim.min.js" integrity="sha384-A7FZj7v+d/sdmMqp/nOQwliLvUsJfDHW+k9Omg/a/EheAdgtzNs3hpfag6Ed950n" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/tether/1.4.0/js/tether.min.js" integrity="sha384-DztdAPBWPRXSA/3eYEEUWrWCy7G5KFbe8fFjk5JAIxUYHKkDx6Qin1DkWx51bBrb" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0-alpha.6/js/bootstrap.min.js" integrity="sha384-vBWWzlZJ8ea9aCX4pEW3rVHjgjt7zpkNpZk+02D9phzyeVkE+jo0ieGizqPLForn" crossorigin="anonymous"></script>
<nav id="topNav" class="navbar fixed-top navbar-toggleable-sm navbar-inverse bg-inverse">
<button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target=".navbar-collapse">
    Menu
</button>
  <a class="navbar-brand mx-auto" href="#">NavBar</a>

<div class="navbar-collapse collapse">
    <ul class="nav navbar-nav">
        <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" href="#">Link</a>
        </li>
        <li class="nav-item">
            <a class="nav-link" href="#">Link</a>
        </li>
    </ul>
  <ul class="nav navbar-nav ml-auto">
        <li class="nav-item">
            <a class="nav-link" href="#">About</a>
        </li>
    </ul>
</div>
</nav>

person Sahil Dhir    schedule 19.04.2017

Код, размещенный ZimSystem, будет перекрывать элементы меню из-за того, что он имеет 100% ширину, и может конфликтовать с событиями кликов и т. д. Лучшим вариантом было бы использовать левое вместо ширины.

.navbar-brand
  {
    display: block;
    left: 50%;
    position: absolute;
    text-align: center;
  }
person user3686910    schedule 16.05.2018
comment
Проблему с кликом легко решить в мом ответе, удалив width:100% - person Zim; 23.10.2018