简体   繁体   中英

Too much space between list items in Navbar Bootstrap

How do I make it so the items (menu, about us, etc) are all evenly spaced out throughout the navbar and not bunched up to one side?

https://jsfiddle.net/dd19sg5x/

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">

 <nav class="navbar navbar-default">
     <div>
         <div class="navbar-header">
              <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-nav-demo" aria-expanded="false">
         <span class="sr-only">Toggle navigation</span>
         <span class="icon-bar">a</span>
         <span class="icon-bar">b</span>
         <span class="icon-bar">c</span>
       </button>
        <img src="images\logo.png" href="main_page.html" width=75% height=75% alt="Company Logo of Broadstairs Hotel" href="www.google.com"/>

         </div>
         <div class="collapse navbar-collapse container" id="bs-nav-demo">
                              <ul class="nav navbar-nav" id="top-navbar">
                 <li><a href="html\book.html">Book</a></li>
                 <li><a href="#">Menu</a></li>
                 <li><a href="#">Enquire</a></li>
                 <li><a href="#">Facillities</a></li>
                 <li><a href="#">Rooms</a></li>
                 <li><a href="#">Contact us</a></li>



    <!-- Navbar stuff is done -->

        </div>
     </div>
 </nav>

My tip is to set the .navbar-header to a fixed width depending on your logo width and make it position: absolute; . I've set it to 200px; . Than the padding-left of the .navbar-collapse will be that 200px; After that if you have 6 menuitems, than one item should be exactly 16.666% wide.

See it in action here: https://jsfiddle.net/9ts0Lcxe/

Added code in css in is:

@media (min-width: 768px) {
  .navbar .navbar-header {
      position: absolute;
      left: 0;
      top: 0;
      width: 200px;
  }

  .navbar .navbar-collapse {
    width: 100%;
    padding-left: 200px;
  }

  .navbar .navbar-collapse .navbar-nav {
    width: 100%;
  }

  .navbar .navbar-collapse .navbar-nav > li {
    width: 16.666%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
}

CSS Flex seems to be a good solution.
These two links have helped me a lot.

Your code could look like this:

 @media (min-width: 992px) { ul.navbar-nav { display: flex; justify-content: space-between; width: 100% } } 
 <link href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/css/bootstrap.min.css" rel="stylesheet"/> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script> <script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.0.0-alpha.6/js/bootstrap.min.js"></script> <nav class="navbar navbar-toggleable-md navbar-light bg-faded"> <button class="navbar-toggler navbar-toggler-right" type="button" data-toggle="collapse" data-target="#navbarNav" aria-controls="navbarNav" aria-expanded="false" aria-label="Toggle navigation"> <span class="navbar-toggler-icon"></span> </button> <a class="nav-brand"><img src="images\\logo.png" href="main_page.html" width=75% height=75% alt="Company Logo of Broadstairs Hotel" href="www.google.com"/></a> <div class="collapse navbar-collapse" id="navbarNav"> <ul class="navbar-nav"> <li class="nav-item"><a class="nav-link" href="html\\book.html">Book</a></li> <li class="nav-item"><a class="nav-link" href="#">Menu</a></li> <li class="nav-item"><a class="nav-link" href="#">Enquire</a></li> <li class="nav-item"><a class="nav-link" href="#">Facillities</a></li> <li class="nav-item"><a class="nav-link" href="#">Rooms</a></li> <li class="nav-item"><a class="nav-link" href="#">Contact us</a></li> </ul> </div> </nav> 

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