1

I'm using Bootstrap 3 and have a header navbar that's fixed. I have several menu items on the left and three on the right. Similar to how Stackoverflow is (minus the search bar).

When I make my browser window shrink - the right menu items go underneath the left menu items until it eventually provides the toggle switch.

How can I fix this so that it doesn't move the right menu items below the left items?

 body {
      min-height: 70px;
      padding-top: 70px;
    }
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>


<nav class="navbar navbar-default navbar-fixed-top">

  <div class="container">

    <div class="navbar-header">

      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
         </button>

      <a class="navbar-brand" href="/"><span class="som-brand-color">Brand Title</span></a>

    </div>

    <div id="navbar" class="navbar-collapse collapse">

      <ul class="nav navbar-nav">

        <li><a href="/">Home</a></li>

        <li><a href="/">Dashboard</a></li>

        <li><a href="/">My Account</a></li>

        <li><a href="/">Reporting Tools</a></li>

        <li><a href="/">Alerts & Notifications</a></li>

        <li><a href="/">Release Notes</a></li>

      </ul>

      <ul class="nav navbar-nav navbar-right">

        <li><a href="/alerts/"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Item 1</a></li>

        <li><a href="/settings/"><i class="fa fa-cogs" aria-hidden="true"></i> Item 2</a></li>

        <li class="dropdown">

          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user" aria-hidden="true"></i> Item 3<span class="caret"></span></a>

          <ul class="dropdown-menu">

            <li><a href=""><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Sub-item 1</a></li>

            <li><a href=""><i class="fa fa-sign-out" aria-hidden="true"></i> Sub-item 2</a></li>

          </ul>

        </li>

      </ul>

    </div>

  </div>

</nav>
MarkH
  • 85
  • 1
  • 9

1 Answers1

1

You need to use media queries..as you have many menu items you need alter the font-size and margins according to screen sizes.

I have provided one solution with only font-size alteration You can modify a lot of parameter to optimize the font size padding and everything.

example snippet

 body {
      min-height: 70px;
      padding-top: 70px;
    }
@media (min-width: 767px) and (max-width: 1200px)  {
    .navbar-nav > li > a {
    font-size:8px;
    padding-left: 5px;
    padding-right: 5px;
   
    }
    .navbar-brand {
      font-size: 15px;
    }
}
<!-- Latest compiled and minified CSS -->
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<!-- Latest compiled and minified JavaScript -->
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>


<nav class="navbar navbar-default navbar-fixed-top">

  <div class="container">

    <div class="navbar-header">

      <button type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#navbar" aria-expanded="false" aria-controls="navbar">
          <span class="sr-only">Toggle navigation</span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
          <span class="icon-bar"></span>
         </button>

      <a class="navbar-brand" href="/"><span class="som-brand-color">Brand Title</span></a>

    </div>

    <div id="navbar" class="navbar-collapse collapse">

      <ul class="nav navbar-nav">

        <li><a href="/">Home</a></li>

        <li><a href="/">Dashboard</a></li>

        <li><a href="/">My Account</a></li>

        <li><a href="/">Reporting Tools</a></li>

        <li><a href="/">Alerts & Notifications</a></li>

        <li><a href="/">Release Notes</a></li>

      </ul>

      <ul class="nav navbar-nav navbar-right">

        <li><a href="/alerts/"><i class="fa fa-exclamation-triangle" aria-hidden="true"></i> Item 1</a></li>

        <li><a href="/settings/"><i class="fa fa-cogs" aria-hidden="true"></i> Item 2</a></li>

        <li class="dropdown">

          <a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-haspopup="true" aria-expanded="false"><i class="fa fa-user" aria-hidden="true"></i> Item 3<span class="caret"></span></a>

          <ul class="dropdown-menu">

            <li><a href=""><i class="fa fa-pencil-square-o" aria-hidden="true"></i> Sub-item 1</a></li>

            <li><a href=""><i class="fa fa-sign-out" aria-hidden="true"></i> Sub-item 2</a></li>

          </ul>

        </li>

      </ul>

    </div>

  </div>

</nav>

Note: for early collapse of navbar checkout these answers--

Bootstrap 3 Navbar Collapse

Change the default responsive navbar breakpoint

Community
  • 1
  • 1
neophyte
  • 6,540
  • 2
  • 28
  • 43