Mobile menu
tworzymy mobilne menu z fajnym efektem po najechaniu na przycisk i otwarciu menu mobilnego.
kod html w wersji desktop:
<!-- header section -->
<section id="sidebar">
<!-- Menu -->
<nav class="navmenu">
<ul id="menu-main" class="menu">
<li><a href="/home">home</a></li>
<li><a href="/about">about</a></li>
<li><a href="/portfolio">portfolio</a></li>
<li><a href="/contact">contact</a></li>
</ul>
</nav><!-- //Menu -->
</section><!-- //header section -->
w jQuery wprowadzamy link włączania/wyłączania menu:
jQuery(document).ready(function() {
//MobileMenu
jQuery('#sidebar').append('<a href="javascript:void(0)" class="menu_toggler"><span></span></a>');
//When user clicks the Icon
jQuery(".menu_toggler").click(function() {
jQuery(this).toggleClass("active");
});
jQuery('#sidebar').append('<div class="mobile_menu_wrapper"><ul class="mobile_menu"/></div>');
jQuery('.mobile_menu').html(jQuery('#sidebar').find('#menu-main').html());
jQuery('.mobile_menu_wrapper').hide();
jQuery('.menu_toggler').click(function(){
jQuery('.mobile_menu_wrapper').slideToggle(300);
});
});
kod css do ostylowania wyglądu przycisku i jego zachowania po najechaniu i kliknięciu:
@media (max-width: 600px) {
/* ___________________ MENU ___________________ */
a.menu_toggler {
position:absolute;
right:12px;
top:12px;
display:block;
margin:0;
width:40px;
height:40px;
padding-top: 20px;
background:#fff;
-webkit-border-radius: 50%;
-moz-border-radius: 50%;
border-radius: 50%;
text-align:center;
}
.menu_toggler span, .menu_toggler span:before, .menu_toggler span:after{
content: '';
position: absolute;
display: block;
width: 20px;
height: 1px;
cursor: pointer;
background:#5a5b5c;
margin-left: auto;
margin-right: auto;
left: 0;
right: 0;
}
.menu_toggler span:before {
top: -4px;
}
.menu_toggler span:after {
bottom: -4px;
}
.menu_toggler:hover span:before {
top: -6px;
}
.menu_toggler:hover span:after {
bottom: -6px;
}
.menu_toggler span, .menu_toggler span:before, .menu_toggler span:after {
-webkit-transition: all 300ms ease-in-out;
transition: all 300ms ease-in-out;
}
.menu_toggler.active span {
background-color: transparent;
}
.menu_toggler.active span:before, .menu_toggler.active span:after {
top: 0;
}
.menu_toggler.active span:before {
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
}
.menu_toggler.active span:after {
top: 10px;
-webkit-transform: translateY(-10px) rotate(-45deg);
-ms-transform: translateY(-10px) rotate(-45deg);
transform: translateY(-10px) rotate(-45deg);
}
.mobile_menu_wrapper{
background:#1b1a1a;
text-transform: uppercase;
font-family: 'montserratregular', sans-serif;
font-size:18px;
text-align:center;
color:#fff;
position: fixed;
left: 0;
top: 70px;
width: 100%;
z-index: 999;
}
.mobile_menu li{
list-style:none;
}
.mobile_menu li a{
display:block;
color:#fff;
padding:10px 0;
}
.mobile_menu li a:hover{
background:#e22117;
color:#fff;
}
#mobile-header:after, .mobile_menu_wrapper:after {
content:'';
height:6px;
display:block;
width:100%;
position:absolute;
bottom:-6px;
background:url('images/menu_shadow.png') repeat-x left top;
}
Hope this helps and happy coding :)