"Responsive Multi Html Menu"
Bootstrap 3.3.0 Snippet by primo45

<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/css/bootstrap.min.css" rel="stylesheet" id="bootstrap-css"> <script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.0/js/bootstrap.min.js"></script> <script src="//code.jquery.com/jquery-1.11.1.min.js"></script> <!------ Include the above in your HEAD tag ----------> <div class="container"> <div class="row"> <div class="rmm style"> <ul> <li> <a href="#">Books</a> <ul> <li> <a href="#">Audiobooks</a> </li> <li> <a href="#">Cookbooks</a> </li> <li> <a href="#">Catalogs</a> </li> <li> <a href="#">Other</a> <ul> <li><a href="#">Other 1</a></li> <li><a href="#">Other 2</a></li> </ul> </li> </ul> </li> <li> <a href="#">Dvds</a> </li> <li> <a href="#">Music</a> <ul> <li><a href="#">Cassettes</a></li> <li><a href="#">CD</a></li> <li><a href="#">Records</a></li> </ul> </li> <li> <a href="#">Video games</a> </li> </ul> </div> </div> </div>
@import url(http://fonts.googleapis.com/css?family=Open+Sans:400italic,400,300,600); @font-face { font-family: 'icomoon'; src:url('../fonts/icomoon.eot'); src:url('../fonts/icomoon.eot?#iefix') format('embedded-opentype'), url('../fonts/icomoon.woff') format('woff'), url('../fonts/icomoon.ttf') format('truetype'), url('../fonts/icomoon.svg#icomoon') format('svg'); font-weight: normal; font-style: normal; } /* minimal styles for that navi */ .rmm {margin: 0 auto;} .rmm ul {margin: 0; padding:0; list-style: none; position: relative; background: #000;} .rmm ul:after {content: ""; clear: both; display: block;} .rmm ul li {float: left;} .rmm ul li:hover {background: #202020;} .rmm ul li:hover > ul {display: block;} .rmm ul li:hover a{color: #fff;} .rmm ul li a {color: #fff; display: block; text-decoration: none;} .rmm ul ul {display: none; margin:0; padding: 0; position: absolute; top: 100%;} .rmm ul ul li {float: none; position: relative;} .rmm ul ul li a{color: #fff;} .rmm ul ul li a:hover {background: #202020;} .rmm ul ul ul {position: absolute; left: 100%; top:0; width: 100%;} /* mobile menu header button */ .rmm-toggled {width: 100%; background-color: #555555; min-height: 50px; margin: 0 auto; display: none;} .rmm-closed ~ .rmm-mobile {display: none!important;} .rmm-toggled-controls{width: 100%;} .rmm-toggled-title{width: 60%; float: left; font-size: 27px; color: #fff; font-weight:600; display: block; padding: 8px 0; text-decoration: none; text-transform: uppercase; text-align: left; padding-left: 35px;} .rmm-toggled-button{width: 20%; float: left; margin-top: 3px; display:block; width: 32px; padding:0 !important; margin:10px 10px 0 0; border:1px solid #fff; border-radius:3px; float: right; } .rmm-toggled-button span{float: left; display:block; margin: 3px 6px; height: 3px; background:white; width:20px;} /* normalny back button visible only on mobiles */ .rmm .rmm-back{display: none; font-size: 12px;} .rmm .rmm-back:after {display: none;} .rmm .rmm-back a:after { font-family: 'icomoon'; speak: none; -webkit-font-smoothing: antialiased; content: "\e000"; position: relative; display: inline-block; -webkit-transform: rotate(-60deg); transform: rotate(-60deg); top: 1px; right: -2px ; float: left; font-size: 10px; } .rmm-mobile .rmm-back{display: block;} /* mobile menu list */ .rmm-mobile{width: 100%;} .rmm-mobile .rmm-dropdown:hover ~ ul, .rmm-mobile .rmm-dropdown:hover > ul ,.rmm-mobile .rmm-dropdown:hover + ul {display: none!important;} .rmm-mobile ul{width: 100%; position: inherit!important;} .rmm-mobile li{width: 100%; } /* mobile menu js action */ .rmm-dropdown{display: block!important;} .rmm-mobile .rmm-subview{display: block!important; width: 100%;} .rmm-mobile .rmm-subover-hidden{display: none!important;} .rmm-mobile .rmm-subover-visible{display: block;} .rmm-mobile .rmm-subover-header{display: none!important; padding: 0; margin: 0;} /* mobile menu content */ .rmm-mobile .rmm-submenu{position: relative; left: 0px;} .rmm .rmm-mobile li:hover > ul {display: none;} /* arrow down for wide screen */ .rmm.style {text-align: left; font-family: Tahoma;} .rmm.style ul {box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.15); background:#990; text-transform: uppercase; display: inline-table; text-align:left;} .rmm.style ul li {text-align:left;} .rmm.style ul li:hover {background: #4b545f;} .rmm.style ul ul {display: none; margin:0; background: #5f6975; border-radius: 0px; padding: 0; position: absolute;} .rmm.style ul li a {color: #fff; font-weight:600; display: block; padding: 15px 35px; text-decoration: none; font-weight:600; } .rmm.style ul ul li {border-bottom: 1px solid #575F6A; border-top: 1px solid #6B727C;} .rmm.style ul ul li a {padding: 12px 35px; color: #fff; } .rmm.style ul ul li a:hover {background: #4b545f;} /* arrow down for wide screen */ .rmm.style ul li > a:not(:only-child):after { font-family: 'icomoon'; speak: none; -webkit-font-smoothing: antialiased; content: "\e000"; position: relative; display: inline-block; -webkit-transform: rotate(210deg); transform: rotate(210deg); top: -4px; left: 1px; font-size: 10px; } /* arrow left for wide screen submenus */ .rmm.style ul ul li > a:not(:only-child):after {-webkit-transform: rotate(120deg)!important; transform: rotate(120deg)!important; top: 2px; font-size: 14px; float: right; margin-right: -20px;} /* mobile style */ .rmm.style .rmm-mobile li > a:not(:only-child):after {-webkit-transform: rotate(120deg)!important; transform: rotate(120deg)!important; top: 4px!important; font-size: 14px!important; float: right; margin-right: -20px;} .rmm.style .rmm-mobile li{background: #3ab4a6; border-bottom: 1px solid #575f6a!important; border-top: 0!important; } /* like mobile view style .rmm.style2 {text-align: left; font-family: Tahoma;} .rmm.style2 ul {box-shadow: 0px 0px 9px rgba(0, 0, 0, 0.15); background:#990; text-transform: uppercase; display: inline-table; text-align:left; width: 100%;} .rmm.style2 ul li {float: none;} .rmm.style2 ul li:hover {background: #4b545f;} .rmm.style2 ul ul {display: none; margin:0; background: #5f6975; border-radius: 0px; padding: 0; position: relative;} .rmm.style2 ul li a {color: #fff; font-weight:600; display: block; padding: 15px 35px; text-decoration: none; font-weight:600; } .rmm.style2 ul ul li {border-bottom: 1px solid #575F6A; border-top: 1px solid #6B727C;} .rmm.style2 ul ul li a {padding: 12px 35px; color: #fff; } .rmm.style2 ul ul li a:hover {background: #4b545f;} .rmm.style2 ul ul ul {left: 0;} */
/* Responsive Mobile Menu v1.1 Plugin URI: responsivemultimenu.com Author: Adam Wysocki Author URI: http://oncebuilder.com License: http://opensource.org/licenses/MIT */ function adaptMenu() { /* toggle menu on resize */ $('.rmm').each(function() { // initialize vars var maxWidth = 0; var width = 0; // width of menu list (non-toggled) $('.rmm-menu').children("li").each(function() { if($(this).parent().hasClass('rmm-menu')){ width = $(this).outerWidth();//outerWidth(); if(width>0){ maxWidth += width; } } }); // compare width var width = $('.rmm').css('max-width'); width = width.replace('px', ''); if ( $(this).parent().width() > width ) { $('.rmm-menu').removeClass("rmm-mobile"); //remove all classes from mobile verion $(".rmm-menu ul").removeClass("rmm-subview"); $(".rmm-menu li").removeClass("rmm-subover-hidden"); $(".rmm-menu li").removeClass("rmm-subover-visible"); $(".rmm-menu a").removeClass("rmm-subover-header"); $(".rmm-toggled").removeClass("rmm-closed"); $('.rmm-toggled').hide(); //$('.rmm-toggled').removeClass("rmm-view"); //$('.rmm-toggled').addClass("rmm-closed"); }else { $('.rmm-menu').addClass("rmm-mobile"); $('.rmm-toggled').show(); $('.rmm-toggled').addClass("rmm-closed"); //$('.rmm-toggled').removeClass("rmm-closed"); } }); } function responsiveMultiMenu() { $('.rmm').each(function() { // create mobile menu classes here to light up HTML $(this).find("ul").addClass("rmm-submenu"); $(this).find("ul:first").addClass("rmm-menu"); $(this).find("ul:first").removeClass("rmm-submenu"); $(this).find('.rmm-submenu').prepend( '<li class="rmm-back"><a href="#">back</a></li>' ); $(this).find("ul").prev().addClass("rmm-dropdown"); // initialize vars var maxWidth = 0; var width = 0; // width of menu list (non-toggled) $('.rmm-menu').children("li").each(function() { if($(this).parent().hasClass('rmm-menu')){ width = $(this).outerWidth();//outerWidth(); if(width>0){ maxWidth += width; } console.log(width) } }); if ($.support.leadingWhitespace) { $(this).css('max-width' , (maxWidth+5)+'px'); }else{ $(this).css('width' , (maxWidth+5)+'px'); } // create dropdown button var str='' str+='<div class="rmm-toggled rmm-view rmm-closed">' str+='<div class="rmm-toggled-controls">' str+='<div class="rmm-toggled-title">Menu</div>'; str+='<div class="rmm-toggled-button"><span> </span><span> </span><span> </span></div>'; str+='</div>'; str+='</div>'; $(this).prepend(str); }); // click interacts in mobile wersion $('.rmm-dropdown').click(function (e) { if($(this).parents(".rmm-menu").hasClass('rmm-mobile')){ e.preventDefault(); e.stopPropagation(); $(this).next().addClass("rmm-subview"); var index=$(this).parent().index(); var i=0; $(this).parent().parent().children("li").each(function() { if(index==$(this).index()){ $(this).removeClass("rmm-subover-hidden"); $(this).addClass("rmm-subover-visible"); }else{ $(this).removeClass("rmm-subover-visible"); $(this).addClass("rmm-subover-hidden"); } }); $(this).addClass("rmm-subover-header"); } }); // click back interacts in mobile version $('.rmm-back a').click(function () { $(this).parent().parent().prev().removeClass("rmm-subover-header"); $(this).parent().parent().removeClass("rmm-subview"); $(this).parent().parent().parent().parent().find("li").removeClass("rmm-subover-hidden"); }); // click toggler interacts in mobile version $('.rmm-toggled, .rmm-toggled .rmm-button').click(function(){ if ($(this).is(".rmm-closed")) { $(this).removeClass("rmm-closed"); }else { $(this).addClass("rmm-closed"); } }); } jQuery(window).load(function() { responsiveMultiMenu(); adaptMenu(); }); $(window).resize(function() { adaptMenu(); });

Related: See More


Questions / Comments: