Stackable is a jQuery plugin that automatically stack menu options when its container gets smaller. You can try it by resizing this window.
Add stackable.css in the <head> section
<head>
...
<link rel="stylesheet" href="stackable.min.css">
...
</head>
Set up a Navigation bar
<ul class="nav">
<li><a href="#">Option #1</a></li>
<li><a href="#">Option #2</a></li>
<li><a href="#">Option #3</a></li>
<li><a href="#">Option #4</a></li>
<li><a href="#">Option #5</a></li>
</ul>
Include jQuery and Stackable right before </body>
<script src="jquery.min.js"></script> <script src="stackable.min.js"></script>
Plugin call
<script>
$('.nav').stackable();
</script>
By default the stacker label will be +, but you can change it
$('.nav').stackable({
stackerLabel: 'More options'
});
Use the "submenu" class to nest another list
<ul class="nav">
<li><a href="#">Option #1</a></li>
<li class="submenu">
<a href="#">Option #2 +</a>
<ul>
<li><a href="#">Option A</a></li>
<li><a href="#">Option B</a></li>
<li><a href="#">Option C</a></li>
</ul>
</li>
<li><a href="#">Option #3</a></li>
</ul>
Highly customizable css
...
.sa-stacker {}
.sa-stacker.sa-open {}
.submenu { }
.submenu.sa-open {}
...