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 {} ...