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

Just another jQuery fullscreen navigation solution that uses CSS3 transitions to slides smoothly out a fullscreen nav menu when you click or tap on the hamburger toggle button.
How to use it:
1. Create a navigation menu for your site or web app.
<div class="nav-content hideNav hidden"> <ul class="nav-list"> <li class="nav-item"> <a href="#" class="item-anchor">Home</a> </li> <li class="nav-item"><a href="#" class="item-anchor"> Services</a> </li> <li class="nav-item"> <a href="#" class="item-anchor">Contact</a> </li> <li class="nav-item"> <a href="#" class="item-anchor">About</a> </li> </ul> </div>
2. Style the navigation menu in the CSS.
.nav { position: relative; width: auto; display: inline-block; border: none; } .nav-content { position: fixed; top: -100%; bottom: 0; left: 0; right: 0; background: #000000; display: block; height: 100%; z-index: 9; } .nav-list { list-style: none; padding: 0; position: relative; top: 30%; } .item-anchor:after { content: ""; position: absolute; width: 3px; height: 3px; left: 0; bottom: 0; z-index: 9; background: transparent; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; } .item-anchor { color: #fff; font-size: 30px; text-transform: uppercase; position: relative; text-decoration: none; padding: 10px; } .item-anchor:hover, .item-anchor:focus { color: #FCA311; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; } .item-anchor:hover:after, .item-anchor:focus:after{ width: 100%; background: #FCA311; -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; } .nav-item { margin: 40px auto; text-align: center; } .hideNav { -webkit-animation: hideNav 1s ease forwards; -moz-animation: hideNav 1s ease forwards; -o-animation: hideNav 1s ease forwards; animation: hideNav 1s ease forwards; } .hidden { display: none; }
3. Create a hamburger button to toggle the navigation menu.
<div class="nav"> <button class="btn-nav"> <span class="icon-bar top"></span> <span class="icon-bar middle"></span> <span class="icon-bar bottom"></span> </button> </div>
4. The required CSS / CSS3 styles for the menu toggle button.
.btn-nav { position: fixed; top: 50px; left: 30px; background: transparent; border: none; padding: 10px; -webkit-transition: all .5s ease; -moz-transition: all .5s ease; -ms-transition: all .5s ease; -o-transition: all .5s ease; transition: all .5s ease; cursor: pointer; z-index: 99999; } .btn-nav:focus { outline: 0; } .icon-bar { display: block; margin: 6px 0; width: 40px; height: 5px; background-color: #FFFFFF; } .btn-nav:hover .icon-bar { -webkit-transition: all 1s ease; -moz-transition: all 1s ease; -ms-transition: all 1s ease; -o-transition: all 1s ease; transition: all 1s ease; background-color: #FCA311; } .animated { display: block; margin: 0 auto; } .animated:hover .icon-bar, .animated:focus .icon-bar{ background-color: #FCA311; } .animated:focus { cursor: pointer; z-index: 9999; } .middle { margin: 0 auto; } .icon-bar { -webkit-transition: all .7s ease; -moz-transition: all .7s ease; -ms-transition: all .7s ease; -o-transition: all .7s ease; transition: all .7s ease; z-index: 999999; } .animated .icon-bar { z-index: 999999; background-color: #FCA311; } .animated .top { -webkit-transform: translateY(10px) rotateZ(45deg); -moz-transform: translateY(10px) rotateZ(45deg); -ms-transform: translateY(10px) rotateZ(45deg); -o-transform: translateY(10px) rotateZ(45deg); transform: translateY(10px) rotateZ(45deg); } .animated .bottom { -webkit-transform: translateY(-11px) rotateZ(-45deg); -moz-transform: translateY(-11px) rotateZ(-45deg); -ms-transform: translateY(-11px) rotateZ(-45deg); -o-transform: translateY(-11px) rotateZ(-45deg); transform: translateY(-11px) rotateZ(-45deg); } .animated .middle { width: 0; }
5. The CSS / CSS3 rules to animate the navigation menu when toggled.
@keyframes showNav { from { top: -100%; } to { top: 0; } } @-webkit-keyframes showNav { from { top: -100%; } to { top: 0; } } @-moz-keyframes showNav { from { top: -100%; } to { top: 0; } } @-o-keyframes showNav { from { top: -100%; } to { top: 0; } } .showNav { -webkit-animation: showNav 1s ease forwards; -moz-animation: showNav 1s ease forwards; -o-animation: showNav 1s ease forwards; animation: showNav 1s ease forwards; } @keyframes hideNav { from { top: 0; } to { top: -100%; } } @-webkit-keyframes hideNav { from { top: 0; } to { top: -100%; } } @-moz-keyframes hideNav { from { top: 0; } to { top: -100%; } } @-o-keyframes hideNav { from { top: 0; } to { top: -100%; } }
6. Place the latest version of jQuery library at the end of the document.
<script src="//code.jquery.com/jquery-2.1.4.min.js"></script>
7. Active the fullscreen navigation by toggling the CSS classes based on the menu toggle state.
$(window).load(function() { $(".btn-nav").on("click tap", function() { $(".nav-content").toggleClass("showNav hideNav").removeClass("hidden"); $(this).toggleClass("animated"); }); });
This awesome jQuery plugin is developed by tonkec. For more Advanced Usages, please check the demo page or visit the official website.