jquery - CSS Responsive Dropdown Menu - Split into 2 Columns -


i've looked through support here , have tried many different ways split css dropdown menu 2 columns, have many entries stretch nav list down below fold.

even though menu responsive, need 2 columns work when expanded, not when shrinks mobile browsing (that aspect fine). i'm using jquery script well.

i have not yet been successful using adjustments code. have advice on how can split drop-down 2 side-by-side columns?

here's html:

<div id='cssmenu' class='align-center'> <ul>  <li><a href='index.html'>home</a></li>  <li class='has-sub'><a href='equipment.html'>equipment</a>    <ul>      <li><a href='#'>automotive</a></li>      <li><a href='#'>building equip.</a></li>      <li><a href='#'>concrete tools</a></li>      <li><a href='#'>drills</a></li>      <li><a href='#'>generators</a></li>      <li><a href='#'>heaters</a></li>      <li><a href='#'>household equip.</a></li>      <li><a href='#'>ladders</a></li>      <li><a href='#'>painting</a></li>      <li><a href='#'>party / canopy</a></li>      <li><a href='#'>plumbing</a></li>      <li><a href='#'>pumps</a></li>      <li><a href='#'>sanders</a></li>      <li><a href='#'>saws</a></li>      <li><a href='#'>stage</a></li>      <li><a href='#'>table & chairs</a></li>      <li><a href='#'>trailers</a></li>      <li><a href='#'>trenchers</a></li>      <li><a href='#'>garden & lawn care</a></li>      <li><a href='#'>miscellaneous</a></li>    </ul>  </li>  <li><a href='concrete.html'>concrete</a></li>  <li><a href='gravel.html'>gravel</a></li>  <li><a href='propane.html'>propane</a></li> </ul> </div> 

here's css:

@import url(http://fonts.googleapis.com/css?family=open+sans:400,700); #cssmenu, #cssmenu ul, #cssmenu ul li, #cssmenu ul li a, #cssmenu #menu-button {   margin: 0;   padding: 0;   border: 0;   list-style: none;   line-height: 1;   display: block;   position: relative;   -webkit-box-sizing: border-box;   -moz-box-sizing: border-box;   box-sizing: border-box; } #cssmenu:after, #cssmenu > ul:after {   content: ".";   display: block;   clear: both;   visibility: hidden;   line-height: 0;   height: 0; } #cssmenu #menu-button {   display: none; } #cssmenu {   z-index: 100;   width: auto;   font-family: 'open sans', helvetica, sans-serif;   background: #468cc6;   background: -moz-linear-gradient(top, #5d9bcd 0%, #3677ae 100%);   background: -webkit-gradient(linear, left top, left bottom, color-stop(0%, #5d9bcd), color-stop(100%, #3677ae));   background: -webkit-linear-gradient(top, #5d9bcd 0%, #3677ae 100%);   background: -o-linear-gradient(top, #5d9bcd 0%, #3677ae 100%);   background: -ms-linear-gradient(top, #5d9bcd 0%, #3677ae 100%);   background: linear-gradient(to bottom, #5d9bcd 0%, #3677ae 100%); } #cssmenu > ul {   background: url('images/bg.png');   box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.05); } #cssmenu.align-right > ul > li {   float: right; } #cssmenu > ul > li {   float: left;   display: inline-block; } #cssmenu.align-center > ul {   float: none;   text-align: center;   font-size: 0; } #cssmenu.align-center > ul > li {   float: none; } #cssmenu.align-center ul ul {   text-align: left; } #cssmenu > ul > li > {   padding: 18px 25px 21px 25px;   border-right: 1px solid rgba(80, 80, 80, 0.12);   text-decoration: none;   font-size: 14px;   font-weight: 700;   color: #ffffff;   text-transform: uppercase;   letter-spacing: 1px; } #cssmenu > ul > li:hover > a, #cssmenu > ul > li > a:hover, #cssmenu > ul > li.active > {   color: #ffffff;   background: #3c85c1;   background: rgba(0, 0, 0, 0.1); } #cssmenu > ul > li.has-sub > {   padding-right: 45px; } #cssmenu > ul > li.has-sub > a::after {   content: "";   position: absolute;   width: 0;   height: 0;   border: 6px solid transparent;   border-top-color: #c7def0;   right: 17px;   top: 22.5px; } #cssmenu > ul > li.has-sub.active > a::after, #cssmenu > ul > li.has-sub:hover > {   border-top-color: #ffffff; } #cssmenu ul ul {   position: absolute;   left: -9999px;   top: 60px;   z-index: 9999;   padding-top: 6px;   font-size: 14px;   opacity: 0;   -webkit-transition: top 0.2s ease, opacity 0.2s ease-in;   -moz-transition: top 0.2s ease, opacity 0.2s ease-in;   -ms-transition: top 0.2s ease, opacity 0.2s ease-in;   -o-transition: top 0.2s ease, opacity 0.2s ease-in;   transition: top 0.2s ease, opacity 0.2s ease-in; } #cssmenu.align-right ul ul {   text-align: right; } #cssmenu > ul > li > ul::after {   content: "";   position: absolute;   width: 0;   height: 0;   border: 5px solid transparent;   border-bottom-color: #468cc6;   top: -4px;   left: 20px; } #cssmenu.align-right > ul > li > ul::after {   left: auto;   right: 20px; } #cssmenu ul ul ul::after {   content: "";   position: absolute;   width: 0;   height: 0;   border: 5px solid transparent;   border-right-color: #468cc6;   top: 11px;   left: -4px; } #cssmenu.align-right ul ul ul::after {   border-right-color: transparent;   border-left-color: #468cc6;   left: auto;   right: -4px; } #cssmenu > ul > li > ul {   top: 120px; } #cssmenu > ul > li:hover > ul {   top: 53px;   left: 0;   opacity: 1; } #cssmenu.align-right > ul > li:hover > ul {   left: auto;   right: 0; } #cssmenu ul ul ul {   padding-top: 0;   padding-left: 6px; } #cssmenu.align-right ul ul ul {   padding-right: 6px; } #cssmenu ul ul > li:hover > ul {   left: 180px;   top: 0;   opacity: 1; }     #cssmenu.align-right ul ul > li:hover > ul {   left: auto;   right: 100%;   opacity: 1; } #cssmenu ul ul li {   text-decoration: none;   font-weight: 400;   padding: 11px 25px;   width: 180px;   color: #ffffff;   background: #468cc6;   box-shadow: 0 2px 2px rgba(0, 0, 0, 0.1), 1px 1px 1px rgba(0, 0, 0, 0.1), -1px 1px 1px rgba(0, 0, 0, 0.1); } #cssmenu ul ul li:hover > a, #cssmenu ul ul li.active > {   color: #333333; } #cssmenu ul ul li:first-child > {   border-top-left-radius: 3px;   border-top-right-radius: 3px; } #cssmenu ul ul li:last-child > {   border-bottom-left-radius: 3px;   border-bottom-right-radius: 3px; } #cssmenu > ul > li > ul::after {   position: absolute;   display: block; } #cssmenu ul ul li.has-sub > a::after {   content: "";   position: absolute;   width: 0;   height: 0;   border: 4px solid transparent;   border-left-color: #ffffff;   right: 17px;   top: 14px;   top: 14.5px; } #cssmenu.align-right ul ul li.has-sub > a::after {   border-left-color: transparent;   border-right-color: #ffffff;   right: auto;   left: 17px; } #cssmenu ul ul li.has-sub.active > a::after, #cssmenu ul ul li.has-sub:hover > a::after {   border-left-color: #333333; } #cssmenu.align-right ul ul li.has-sub.active > a::after, #cssmenu.align-right ul ul li.has-sub:hover > a::after {   border-right-color: #333333;   border-left-color: transparent; }    @media , (max-width: 725px), screen , (-webkit-min-device-pixel-ratio: 2) , (max-width: 1024px), screen , (min--moz-device-pixel-ratio: 2) , (max-width: 1024px), screen , (-o-min-device-pixel-ratio: 2/1) , (max-width: 1024px), screen , (min-device-pixel-ratio: 2) , (max-width: 1024px), screen , (min-resolution: 192dpi) , (max-width: 1024px), screen , (min-resolution: 2dppx) , (max-width: 1024px) {      #cssmenu {     background: #468cc6;   }   #cssmenu > ul {     display: none;   }   #cssmenu > ul.open {     display: block;     border-top: 1px solid rgba(0, 0, 0, 0.1);   }   #cssmenu.align-right > ul {     float: none;   }   #cssmenu.align-center > ul {     text-align: left;   }   #cssmenu > ul > li,   #cssmenu.align-right > ul > li {     float: none;     display: block;   }   #cssmenu > ul > li > {    padding: 18px 25px 18px 25px;     border-right: 0;   }   #cssmenu > ul > li:hover > a,   #cssmenu > ul > li.active > {     background: rgba(0, 0, 0, 0.1);   }   #cssmenu #menu-button {     display: block;     text-decoration: none;     font-size: 13px;     font-weight: 700;     color: #ffffff;     padding: 18px 25px 18px 25px;     text-transform: uppercase;     letter-spacing: 1px;     background: url('images/bg.png');     cursor: pointer;   }   #cssmenu ul ul,   #cssmenu ul li:hover > ul,   #cssmenu > ul > li > ul,   #cssmenu ul ul ul,   #cssmenu ul ul li:hover > ul,   #cssmenu.align-right ul ul,   #cssmenu.align-right ul li:hover > ul,   #cssmenu.align-right > ul > li > ul,   #cssmenu.align-right ul ul ul,   #cssmenu.align-right ul ul li:hover > ul {     left: 0;     right: auto;     top: auto;     opacity: 1;     width: 100%;     padding: 0;     position: relative;     text-align: left;   }   #cssmenu ul ul li {     width: 100%;   }   #cssmenu ul ul li {     width: 100%;     box-shadow: none;     padding-left: 35px;   }   #cssmenu ul ul ul li {     padding-left: 45px;   }   #cssmenu ul ul li:first-child > a,   #cssmenu ul ul li:last-child > {     border-radius: 0;   }   #cssmenu #menu-button::after {     display: block;     -webkit-box-sizing: content-box;     -moz-box-sizing: content-box;     box-sizing: content-box;     content: '';     position: absolute;     height: 3px;     width: 22px;     border-top: 2px solid #c7def0;     border-bottom: 2px solid #c7def0;     right: 25px;     top: 18px;   }   #cssmenu #menu-button::before {     display: block;     content: '';     position: absolute;     height: 3px;     width: 22px;     border-top: 2px solid #c7def0;     right: 25px;     top: 28px;   }   #cssmenu > ul > li.has-sub > a::after,   #cssmenu ul ul li.has-sub > a::after {     display: none;   } } 

here's jquery:

(function($){ $(document).ready(function(){  $('#cssmenu').prepend('<div id="menu-button">menu</div>');   $('#cssmenu #menu-button').on('click', function(){     var menu = $(this).next('ul');     if (menu.hasclass('open')) {       menu.removeclass('open');     } else {       menu.addclass('open');     } });  }); })(jquery); 

not elegant solution got working in 2 columns screen sizes above 480px wide.

@media screen , (min-width: 480px) {     #cssmenu > ul > li > ul > div {         width: 200%;     }     #cssmenu > ul > li > ul > div > li {         display: inline-block;         width: 49%;         white-space: nowrap;     } } 

Comments