user3662896
user3662896

Reputation: 173

Bootstrap navbar displaying 2 rows when screen size is not mobile

I'm using Bootstrap3, trying to build a responsive navbar. At normal resolutions, the navbar is taking up 2 rows. At small resolutions, it (correctly) only takes up 1 row.

How can I make link4 and link5 appear on the same row as links 1-3? (fiddle below code)

<div class="navbar navbar-inverse navbar-static-top" data-role="navigation"> 
<div class="navbar-header navbar-left">
    <a class="navbar-brand" href="#">Title</a>
    <button type="button" class="navbar-toggle navbar-left left pull-left collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
        <span class="sr-only">Toggle navigation</span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
    </button>
    <button type="button" class="navbar-toggle navbar-right right pull-right collapsed navbar-link glyphicon glyphicon-user" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
    </button>
</div>

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
    <ul class="nav navbar-nav navbar-left">
        <li><a>link1</a></li>
        <li><a>link2</a></li>
        <li><a>link3</a></li>
    </ul>
</div>

<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
    <ul class="navbar-nav nav navbar-right">
        <li><a>link4</a></li>
        <li><a>link5</a></li>
    </ul>
</div

http://jsfiddle.net/katgucbw/1/

Upvotes: 0

Views: 3441

Answers (2)

Simple Sandman
Simple Sandman

Reputation: 900

Add this ul code inside your #bs-example-navbar-collapse-1 below the first ul. This will let you have these links on the same line on screen sizes larger than 768px.

<ul class="navbar-nav nav navbar-right hidden-xs" style="margin-right: 10px">
    <li><a>link4</a></li>
    <li><a>link5</a></li>
</ul>

Also, inside #bs-example-navbar-collapse-2, add the hidden-sm, hidden-md, and hidden-lg classes on the last ul so it will only show up on phones (<768px).

Official Documentation on Responsive Utilities


Full Code:

<div class="navbar navbar-inverse navbar-static-top" data-role="navigation"> 
    <div class="navbar-header navbar-left">
        <a class="navbar-brand" href="#">Title</a>
        <button type="button" class="navbar-toggle navbar-left left pull-left collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <button type="button" class="navbar-toggle navbar-right right pull-right collapsed navbar-link glyphicon glyphicon-user" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
        </button>
    </div>

    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
        <ul class="nav navbar-nav navbar-left">
            <li><a>link1</a></li>
            <li><a>link2</a></li>
            <li><a>link3</a></li>
        </ul> 
        <ul class="navbar-nav nav navbar-right hidden-xs" style="margin-right: 10px">
            <li><a>link4</a></li>
            <li><a>link5</a></li>
        </ul> 
    </div>

    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-2">
        <ul class="navbar-nav nav navbar-right hidden-sm hidden-md hidden-lg">
            <li><a>link4</a></li>
            <li><a>link5</a></li>
        </ul>
    </div> 
</div>

Working Bootply

Upvotes: 0

Ramy Nasr
Ramy Nasr

Reputation: 2537

You just need to move your navbar-right to the same navbar-collapse element. Like that:

<div class="navbar navbar-inverse navbar-static-top" data-role="navigation"> 
    <div class="navbar-header navbar-left">
        <a class="navbar-brand" href="#">Title</a>
        <button type="button" class="navbar-toggle navbar-left left pull-left collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
        </button>
        <button type="button" class="navbar-toggle navbar-right right pull-right collapsed navbar-link glyphicon glyphicon-user" data-toggle="collapse" data-target="#bs-example-navbar-collapse-2">
        </button>
    </div>

    <div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
        <ul class="nav navbar-nav navbar-left">
            <li><a>link1</a></li>
            <li><a>link2</a></li>
            <li><a>link3</a></li>
        </ul>
        <ul class="navbar-nav nav navbar-right">
            <li><a>link4</a>
            </li>
            <li><a>link5</a>
            </li>
        </ul>
    </div>
</div>

Upvotes: 1

Related Questions