CSS
.headermenu ul{ display:flex; flex-direction:row; margin:0; padding:0; list-style:none; } .headermenu ul li{ display:flex; flex-direction:column; justify-content:center; transition:0.5s; } .headermenu ul li ul li{ display:none; } .headermenu a{ font-size:17px; color:#fff; transition: 0.3s; font-weight:400; display:block; padding:25px 20px; text-decoration:none; } .headermenu a:hover{ color:#fff; text-decoration:none; background-color:#54745c; box-shadow:inset 0 0 0 1px #54745c; } .headermenu .current-menu-item{ background-color:#54745c; } .headermenu .current-menu-item a{ color:#fff; } .headermenu-clicked ul{ display:flex; flex-direction:row; margin:0; padding:0; list-style:none; } .headermenu-clicked ul li{ display:flex; flex-direction:column; justify-content:center; position:relative; transition:0.5s; } .headermenu-clicked a{ font-size:17px; transition: 0.3s; font-weight:400; display:block; color:#fff; padding:25px 20px; text-decoration:none; } .headermenu-clicked a:hover{ color:#fff; background-color:#54745c; text-decoration:none; } .headermenu-clicked-active a{ background-color:#54745c; } .headermenu-clicked ul li ul{ opacity:0; position:absolute; top:75px; left:0; border:#fff 0px solid; border-radius:0 0 0 0; overflow:hidden; z-index:1500; background-color:rgba(54,97,126,0.7); display:block; } .headermenu-clicked ul li ul li{ display:block; min-width:250px; box-sizing:border-box; background-color:transparent; margin:0; } .headermenu-clicked ul li ul li:first-child{ margin-top:14px; } .headermenu-clicked ul li ul li:last-child{ margin-bottom:14px; } .headermenu-clicked ul li ul li a{ color:#fff; font-size:14px; padding:7px 25px 7px 25px; background:initial; } .headermenu-clicked ul li ul li a:hover{ color:#fff; } .headermenu-clicked .current-menu-item{ background-color:#54745c; } .headermenu-clicked .current-menu-item a{ color:#fff; }
jQuery
$(document).ready(function(){ $('#headermenu-ul li').click(function(){ if ($('#headermenu').hasClass('headermenu')){ $(this).find('ul').css({'opacity':'1','transition':'0.5s'}); $('#headermenu').removeClass('headermenu'); $('#headermenu').addClass('headermenu-clicked'); $(this).closest("li").addClass('headermenu-clicked-active'); $(".headermenu-clicked ul li").not(".headermenu-clicked ul li li").hover(function(){ $(".headermenu-clicked ul li").removeClass('headermenu-clicked-active'); $("#headermenu ul li ul").css({'opacity':'0','transition':'0.5s'}); $(this).find('ul').css({'opacity':'1','transition':'0.5s'}); $(this).closest("li").addClass('headermenu-clicked-active'); }); }else{ $("#headermenu ul li ul").css({'opacity':'0','transition':'0.5s'}); $('#headermenu').removeClass('headermenu-clicked'); $('#headermenu').addClass('headermenu'); $(".headermenu ul li").not(".headermenu ul li li").hover(function(){ $(".headermenu ul li").removeClass('headermenu-clicked-active'); }); $(".headermenu ul li").removeClass('headermenu-clicked-active'); } }); $(document).click(function(e) { if ($(e.target).closest('#headermenu').length === 0) { $("#headermenu ul li ul").css({'opacity':'0','transition':'0.5s'}); $('#headermenu').removeClass('headermenu-clicked'); $('#headermenu').addClass('headermenu'); $(".headermenu ul li").not(".headermenu ul li li").hover(function(){ $(".headermenu ul li").removeClass('headermenu-clicked-active'); }); $(".headermenu ul li").removeClass('headermenu-clicked-active'); } }); });
HTML (WordPress menu) – Example
<div id="headermenu" class="headermenu"> <?php $args = array( 'menu' => 'Primary', 'menu_class' => '', 'menu_id' => 'headermenu-ul', 'container' => false, 'theme_location' => 'primary-menu'); wp_nav_menu($args); ?> </div>