JSFiddle - React, Tailwind, and code Playground
by bmarsh123
HTML
<script src="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/js/bootstrap.min.js"></script>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.3/css/bootstrap.min.css">
<nav class="navbar navbar-default" role="navigation">
<div class="container-fluid">
<!-- Brand and toggle get grouped for better mobile display -->
<div class="navbar-header">
<button type="button" class="navbar-toggle" 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>
</div>
<!-- Collect the nav links, forms, and other content for toggling -->
<div class="collapse navbar-collapse" id="bs-example-navbar-collapse-1">
<ul class="nav navbar-nav">
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown">dropdown <b class="caret"></b></a>
<ul class="dropdown-menu">
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li><a href="#">item</a></li>
<li class="divider"></li>
<li><a href="#">item</a></li>
</ul>
</li>
</ul>
</div><!-- /.navbar-collapse -->
</div><!-- /.container-fluid -->
</nav>
CSS
.navbar { margin-bottom: 10px; }
JavaScript
$(function() {
$(window).resize(function() {
adjustHeight();
});
$('.dropdown-toggle').click(function() {
adjustHeight();
});
function adjustHeight() {
var pageHeight = $(window).height(),
dropdownHeight = $('.dropdown-menu').height(),
top = $('.dropdown').offset().top;
if (dropdownHeight > pageHeight) {
$('.navbar-collapse.in').css({
'max-height': pageHeight - top - 10,
'height': pageHeight - top - 10
});
}
$('.navbar-collapse.in').css({
'height': 'auto'
});
}
});