Fullscreen Mobile Navigation Menu with jQuery and CSS3
File Size: | 2.18 KB |
---|---|
Views Total: | 5519 |
Last Update: | |
Publish Date: | |
Official Website: | Go to website |
License: | MIT |

A mobile friendly responsive navigation menu with an animated hamburger toggle that uses CSS3 transitions for menu transition effects and a bit of jQuery script to toggle CSS classes.
How to use it:
1. Create a hamburger toggle for the mobile navigation.
<div id="toggle"><span></span></div>
2. Create the html for the mobile navigation.
<div id="menu"><span id="title">Menu</span> <ul> <li><a href="#"><span>Home</span></a></li> <li><a href="#"><span>Blog</span></a></li> <li><a href="#"><span>Contact</span></a></li> </ul> </div>
3. Style & animate the hamburger toggle using CSS & CCS3 transforms.
#toggle { position: fixed; z-index: 3; width: 2.85714em; height: 2.85714em; top: 0; left: 0; margin: 15px 0 0 15px; cursor: pointer; } #toggle span { display: block; position: absolute; width: 100%; height: 0.2em; margin: 1.25em 0 0 0; background: #eee; -webkit-transition: 350ms ease all; -moz-transition: 350ms ease all; transition: 350ms ease all; } #toggle span:before, #toggle span:after { content: " "; position: absolute; width: 100%; height: 0.2em; background: #eee; -webkit-transition: 350ms ease all; -moz-transition: 350ms ease all; transition: 350ms ease all; } #toggle span:before { margin: -1em 0 0 0; } #toggle span:after { margin: 1em 0 0 0; } #toggle.open span { background-color: transparent; } #toggle.open span:before, #toggle.open span:after { margin: 0; background: #8BC163; } #toggle.open span:before { -webkit-transform: rotate(135deg); -moz-transform: rotate(135deg); transform: rotate(135deg); } #toggle.open span:after { -webkit-transform: rotate(-135deg); -moz-transform: rotate(-135deg); transform: rotate(-135deg); }
4. Style the mobile navigation.
#menu { visibility: hidden; opacity: 0; position: fixed; z-index: 2; width: 100%; height: 100%; top: 0; left: 0; text-align: center; background: rgba(44,62,80,0.9); -webkit-transform: scale(1.5); -moz-transform: scale(1.5); transform: scale(1.5); -webkit-transition: 350ms ease all; -moz-transition: 350ms ease all; transition: 350ms ease all; } #menu.opened { visibility: visible; opacity: 1; -webkit-transform: scale(1); -moz-transform: scale(1); transform: scale(1); -webkit-transition: 350ms ease all; -moz-transition: 350ms ease all; transition: 350ms ease all; } #menu span#title { display: block; line-height: 1em; margin: 0 0 0.5em 0; font-size: 5em; color: #8BC163; } #menu ul { list-style: none; margin: 0 auto; } #menu ul li { display: block; width: 90%; height: 65px; margin: 0 auto 0.5em auto; } #menu ul li:after { content: " "; position: absolute; width: 0%; height: 65px; margin: -65px 0 0 5%; left: 0; background: #8BC163; border-radius: 0.25em; -webkit-transition: 350ms ease all; -moz-transition: 350ms ease all; transition: 350ms ease all; } #menu ul li:hover:after { width: 90%; } #menu ul li a { position: relative; z-index: 4; display: block; width: 100%; height: 65px; line-height: 65px; margin: 0 auto; color: #8BC163; text-decoration: none; border: 1px solid #ddd; border-radius: 0.2em; -webkit-transition: 350ms ease all; -moz-transition: 350ms ease all; transition: 350ms ease all; } #menu ul li a:hover { color: #eee; border-color: #8BC163; } #menu ul li a span { font-size: 1.66667em; } #menu ul li a i { position: absolute; padding: 0 1.25em 0 0; font-size: 2em; }
5. Include the jQuery JavaScript library on the web page.
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
6. The JavaScript to toggle CSS classes.
$("#toggle").click(function() { $(this).toggleClass("open"); $("#menu").toggleClass("opened"); });
This awesome jQuery plugin is developed by 3lv3n_snip3r. For more Advanced Usages, please check the demo page or visit the official website.