Twitter bootstrap 3 navbar navbar-right outside navbar-collapse
css, html, navbar, twitter-bootstrap, twitter-bootstrap-3
Solution
The two lines in the mobile navbar are caused by the clearfix of the navbar-header:
.navbar-header {
.clearfix();
@media (min-width: @grid-float-breakpoint) {
float: left;
}
}
You could use media queries and css to undo this clearfix (and add a new before the collapsed dropdown)
.navbar-right {float: right !important;}
@media(max-width:767px)
{
.navbar-right {margin-right:20px;}
.navbar-header:after
{
clear: none;
}
.navbar-nav.navbar-right > li { float: left; }
.navbar-collapse:before {clear:both;}
.navbar-collapse {overflow-y: hidden;}
.navbar-collapse.in {overflow-y: visible;}
.navbar{border-color: #101010; border-width: 0 0 1px;}
.navbar-collapse.in > ul {border-color: #101010; border-top:1px double;}
}
}
demo: http://bootply.com/82366
The media queries also add a float right for the navbar-right on smaller screens. To take this code in production, you maybe will fix the borders and possible the navbar css transisions too.
Problem
In Twitter bootstrap 2.3.2 I can have something like: http://jsfiddle.net/aQwUZ/3/ ``` <div class="navbar navbar-inverse navbar-fixed-top"> <div class="navbar-inner"> <div class="container"> <a data-target=".nav-collapse" data-toggle="collapse" class="btn btn-navbar"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </a> <a href="#" class="brand">BRAND</a> <ul class="nav pull-right"> <li> <a href="#">Fixed Link</a> </li> </ul> <div class="nav-collapse"> <ul class="nav"> <li><a href="#">L1</a></li> <li><a href=#">L2</a></li> </ul> </div> </div> </div> </div> ``` A twitter bootstrap navbar, where in mobile responsive view, "Fixed Link" stay visible in header. Now, in bootstrap 3, after upgrade my code, I can only have: http://jsfiddle.net/EC3Ly/4/ ``` <nav class="navbar navbar-inverse navbar-fixed-top" role="navigation"> <div class="container"> <div class="navbar-header"> <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-collapse"> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">BRAND</a> </div> <ul class="nav navbar-nav navbar-right"> <li> <a href="#">Fixed Link</a> </li> </ul> <div class="navbar-collapse collapse"> <ul class="nav navbar-nav"> <li><a href="#">L1</a></li> <li><a href=#">L2</a></li> </ul> </div> </div> </nav> ``` in mobile responsive view, I get 2 lines... I tried to wrap in a "navbar-header" node http://jsfiddle.net/EC3Ly/5/ or in the first "navbar-header" without success. What did I miss? Thanks, Alexandre