You might be interested in this example or this one.
First HTML Example
<div class="container"> <div class="row"> <h2>Multi level dropdown menu in Bootstrap 3</h2> <hr> <div class="dropdown"> <a id="dLabel" role="button" data-toggle="dropdown" class="btn btn-primary" data-target="#" href="/page.html"> Dropdown <span class="caret"></span> </a> <ul class="dropdown-menu multi-level" role="menu" aria-labelledby="dropdownMenu"> <li><a href="#">Some action</a></li> <li><a href="#">Some other action</a></li> <li class="divider"></li> <li class="dropdown-submenu"> <a tabindex="-1" href="#">Hover me for more options</a> <ul class="dropdown-menu"> <li><a tabindex="-1" href="#">Second level</a></li> <li class="dropdown-submenu"> <a href="#">Even More..</a> <ul class="dropdown-menu"> <li><a href="#">3rd level</a></li> <li><a href="#">3rd level</a></li> </ul> </li> <li><a href="#">Second level</a></li> <li><a href="#">Second level</a></li> </ul> </li> </ul> </div> </div> </div>
CSS
.dropdown-submenu { position: relative; } .dropdown-submenu>.dropdown-menu { top: 0; left: 100%; margin-top: -6px; margin-left: -1px; -webkit-border-radius: 0 6px 6px 6px; -moz-border-radius: 0 6px 6px; border-radius: 0 6px 6px 6px; } .dropdown-submenu:hover>.dropdown-menu { display: block; } .dropdown-submenu>a:after { display: block; content: " "; float: right; width: 0; height: 0; border-color: transparent; border-style: solid; border-width: 5px 0 5px 5px; border-left-color: #ccc; margin-top: 5px; margin-right: -10px; } .dropdown-submenu:hover>a:after { border-left-color: #fff; } .dropdown-submenu.pull-left { float: none; } .dropdown-submenu.pull-left>.dropdown-menu { left: -100%; margin-left: 10px; -webkit-border-radius: 6px 0 6px 6px; -moz-border-radius: 6px 0 6px 6px; border-radius: 6px 0 6px 6px; }
Second example html
<style> body { padding-top: 50px; } .navbar-template { padding: 40px 15px; } </style> <div class="navbar navbar-default 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="sr-only">Toggle navigation</span> <span class="icon-bar"></span> <span class="icon-bar"></span> <span class="icon-bar"></span> </button> <a class="navbar-brand" href="#">NavBar</a> </div> <div class="collapse navbar-collapse"> <ul class="nav navbar-nav"> <li class="active"><a href="#">Home</a></li> <li><a href="https://github.com/fontenele/bootstrap-navbar-dropdowns" target="_blank">GitHub</a></li> <li> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Menu 1 <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Action [Menu 1.1]</a></li> <li><a href="#">Another action [Menu 1.1]</a></li> <li><a href="#">Something else here [Menu 1.1]</a></li> <li class="divider"></li> <li><a href="#">Separated link [Menu 1.1]</a></li> <li class="divider"></li> <li><a href="#">One more separated link [Menu 1.1]</a></li> <li> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown [Menu 1.1] <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Action [Menu 1.2]</a></li> <li> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown [Menu 1.2] <b class="caret"></b></a> <ul class="dropdown-menu"> <li> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown [Menu 1.3] <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Action [Menu 1.4]</a></li> <li><a href="#">Another action [Menu 1.4]</a></li> <li><a href="#">Something else here [Menu 1.4]</a></li> <li class="divider"></li> <li><a href="#">Separated link [Menu 1.4]</a></li> <li class="divider"></li> <li><a href="#">One more separated link [Menu 1.4]</a></li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> <li> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Menu 2 <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Action [Menu 2.1]</a></li> <li><a href="#">Another action [Menu 2.1]</a></li> <li><a href="#">Something else here [Menu 2.1]</a></li> <li class="divider"></li> <li><a href="#">Separated link [Menu 2.1]</a></li> <li class="divider"></li> <li><a href="#">One more separated link [Menu 2.1]</a></li> <li> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown [Menu 2.1] <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Action [Menu 2.2]</a></li> <li><a href="#">Another action [Menu 2.2]</a></li> <li><a href="#">Something else here [Menu 2.2]</a></li> <li class="divider"></li> <li><a href="#">Separated link [Menu 2.2]</a></li> <li class="divider"></li> <li> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown [Menu 2.2] <b class="caret"></b></a> <ul class="dropdown-menu"> <li> <a href="#" class="dropdown-toggle" data-toggle="dropdown">Dropdown [Menu 2.3] <b class="caret"></b></a> <ul class="dropdown-menu"> <li><a href="#">Action [Menu 2.4]</a></li> <li><a href="#">Another action [Menu 2.4]</a></li> <li><a href="#">Something else here [Menu 2.4]</a></li> <li class="divider"></li> <li><a href="#">Separated link [Menu 2.4]</a></li> <li class="divider"></li> <li><a href="#">One more separated link [Menu 2.4]</a></li> </ul> </li> </ul> </li> </ul> </li> </ul> </li> </ul> </div><!--/.nav-collapse --> </div> </div> <div class="container"> <div class="navbar-template text-center"> <h1>Bootstrap NavBar (Updated: 15 Nov 2016)</h1> <p class="lead text-info">NavBar with too many childs.</p> </div> </div><!-- /.container -->
CSS
@media (min-width: 767px) { .navbar-nav .dropdown-menu .caret { transform: rotate(-90deg); } }
And a little javascript (jQuery)
$(document).ready(function() { $('.navbar a.dropdown-toggle').on('click', function(e) { var $el = $(this); var $parent = $(this).offsetParent(".dropdown-menu"); $(this).parent("li").toggleClass('open'); if(!$parent.parent().hasClass('nav')) { $el.next().css({"top": $el[0].offsetTop, "left": $parent.outerWidth() - 4}); } $('.nav li.open').not($(this).parents("li")).removeClass("open"); return false; }); });