简体   繁体   中英

Bootstrap 4 navbar toggler is on top of my logo on small screens

I am having a problem on small screens and I can't work out why this is the case.

Here is a demo: https://jsfiddle.net/7ww6ybpk/

Here is the code:

<!-- main navigation -->
<nav class="navbar navbar-toggleable-md navbar-light">
  <div class="container">
    <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#mainNav" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <a class="navbar-brand" href="">
      <img class="img-fluid" src="https://twocan.co/public/images/shared/logos/logo-header.png" alt="Learn English with twocan.com" />
    </a>

    <div class="collapse navbar-collapse" id="mainNav">
      <ul class="navbar-nav mr-auto">
        <li class="nav-item">
          <a class="nav-link" href="">
            <i class="fa fa-home" aria-hidden="true"></i>
            Foo
          </a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="">
            <i class="fa fa-certificate"></i>
            Foo
          </a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="">
            <i class="fa fa-lightbulb-o"></i>
            Foo
          </a>
        </li>
      </ul>

      <ul class="navbar-nav ml-auto">

        <li class="nav-item">
          <a class="nav-link" href="">
            <i class="fa fa-sign-in"></i>
            Foo
          </a>
        </li>
        <span class="navbar-text">
          /
        </span>
        <li class="nav-item">
          <a class="nav-link" href="">
            Foo
            <i class="fa fa-check"></i>
          </a>
        </li>
      </ul>
    </div>
  </div>
</nav>
<!-- end main navigation  -->

So as you can see the logo is underneath the hamburger menu... how do I fix this?

Try the following code. I've specified the right side elements in the navigation bar and when it collapses everything comes together. I hope it's what you're looking for.

   <nav class="navbar navbar-default">
      <div class="container-fluid">
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target="#myNavbar">
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>                        
          </button>
          <a class="navbar-brand" href="">
          <img class="img-fluid" src="https://twocan.co/public/images/shared/logos/logo-header.png" alt="Learn English with twocan.com" /></a>
        </div>
        <div class="collapse navbar-collapse" id="myNavbar">
          <ul class="nav navbar-nav">
            <li class="active"><a href="#">Foo</a></li>
            <li class="dropdown">
              <a class="dropdown-toggle" data-toggle="dropdown" href="#">Foo Drop<span class="caret"></span></a>
              <ul class="dropdown-menu">
                <li><a href="#">Foo 1 </a></li>
                <li><a href="#">Foo 2</a></li>
                <li><a href="#">Foo 3</a></li>
              </ul>
            </li>
            <li><a href="#">Foo</a></li>
            <li><a href="#">Foo</a></li>
          </ul>

          <!--Right Side-->
          <ul class="nav navbar-nav navbar-right">
            <li><a href="#">Foo R1 </a></li>
            <li><a href="#">Foo R2</a></li>
          </ul>
        </div>
      </div>
    </nav>`enter code here`

Don't nest .container in your nav. You can use .container-fluid there if you want.

And your custom CSS is nested - CSS doesn't work like that unless you're using a pre processor that allows nesting.

 .navbar { border-bottom: 1px solid #eeeeee; } .nav-link { font-weight: 800; } .nav-item.active .nav-link { color: #7cd97c !important; } 
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/> <!-- main navigation --> <nav class="navbar navbar-toggleable-md navbar-light"> <div class=""> <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#mainNav" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <a class="navbar-brand" href=""> <img class="img-fluid" src="https://twocan.co/public/images/shared/logos/logo-header.png" alt="Learn English with twocan.com" /> </a> <div class="collapse navbar-collapse" id="mainNav"> <ul class="navbar-nav mr-auto"> <li class="nav-item"> <a class="nav-link" href=""> <i class="fa fa-home" aria-hidden="true"></i> Foo </a> </li> <li class="nav-item"> <a class="nav-link" href=""> <i class="fa fa-certificate"></i> Foo </a> </li> <li class="nav-item"> <a class="nav-link" href=""> <i class="fa fa-lightbulb-o"></i> Foo </a> </li> </ul> <ul class="navbar-nav ml-auto"> <li class="nav-item"> <a class="nav-link" href=""> <i class="fa fa-sign-in"></i> Foo </a> </li> <span class="navbar-text"> / </span> <li class="nav-item"> <a class="nav-link" href=""> Foo <i class="fa fa-check"></i> </a> </li> </ul> </div> </div> </nav> <!-- end main navigation --> 

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM