Search code examples
csstwitter-bootstraptwitter-bootstrap-4

Bootstrap 4 center navbar brand with collapse


Bootstrap 4 Alpha 6

I cant seem to figure out how to get both the right links and left link to both collapse. Right now only the right hand side link collapses.

<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>


Solution

  • Currently in alpha 6, the collapse only supports a single target..

    Update Bootstrap 4.1

    You can absolute position the brand on larger screens, and use a single collapse for the 2 navbars.

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

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

    Also see:
    Center an element in Bootstrap 4 Navbar
    How to center nav-items in Bootstrap?