Bootstrap 4 center navbar brand with collapse

前端 未结 4 1809
暖寄归人
暖寄归人 2021-01-13 02:24

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.

相关标签:
4条回答
  • 2021-01-13 02:52

    You should wrap both the menus ul in one navbar-collapse div. Toggle Menu button will only target one collapse div not multiple. As earlier there were two navbar-collapse.

    Here is code you should use.

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

    0 讨论(0)
  • 2021-01-13 02:58
    <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>
    
    0 讨论(0)
  • 2021-01-13 03:04

    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?

    0 讨论(0)
  • 2021-01-13 03:06

    The code posted by ZimSystem will overlap the menu items due to having 100% width and might clash with click events etc. A better option would be to use left instead of width.

    .navbar-brand
      {
        display: block;
        left: 50%;
        position: absolute;
        text-align: center;
      }
    
    0 讨论(0)
提交回复
热议问题