Fullscreen Sliding Navigation Menu with jQuery and CSS3
| File Size: | 2.2 KB |
|---|---|
| Views Total: | 6743 |
| 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.











