Minimalist Off-canvas Push Menu with jQuery and CSS3
| File Size: | 128 KB |
|---|---|
| Views Total: | 1837 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A simplest way to create a familiar off-canvas menu that pushes the entire site to the right side to reveal a hidden sidebar navigation. Based on CSS3 transitions & transforms and a little jQuery magic.
How to use it:
1. Create an off-canvas navigation with a toggle button on your document page.
<nav class="site-nav"> <button class="site-nav-logo">Menu</button> <div class="site-nav-scrollable-container"> <ul class="site-nav-list"> <li> <a href="" class="site-nav-list-item-btn"> Home </a> </li> <li> <a href="" class="site-nav-list-item-btn"> Contact </a> </li> <li> <a href="" class="site-nav-list-item-btn"> About </a> </li> <li> <a href="" class="site-nav-list-item-btn"> Blog </a> </li> <li> <a href="" class="site-nav-list-item-btn"> More </a> </li> </ul> </div> </nav>
2. Create a navigation overlay to overlay entire page when the navigation is opened.
<div class="site-nav-overlay"></div>
3. The core CSS/CSS3 for the off-canvas navigation.
.site-nav-logo {
width: 44px;
height: 44px;
background: #478dcf;
color: #000;
position: absolute;
top: 10px;
left: 10px;
border: 0;
opacity: 1;
-moz-transition: opacity .3s linear;
-webkit-transition: opacity .3s linear;
transition: opacity .3s linear;
}
.site-nav-drawer-open .site-nav-logo { display: none; }
.site-nav-transition .site-nav-logo { opacity: 0; }
.site-nav {
position: absolute;
left: 0;
top: 0;
bottom: 0;
outline: 0;
background-color: #191918;
}
.site-nav-scrollable-container {
display: none;
overflow: auto;
height: 100%;
}
.site-nav-transition .site-nav-scrollable-container {
display: block;
width: 280px;
}
.site-nav-list-item-btn {
color: #b3b3b1;
display: block;
padding: 0 25px;
height: 42px;
line-height: 45px;
border: 0;
background: black;
}
.site-nav-list-item-btn:hover {
color: #fff;
outline: 0;
}
.site-nav-overlay {
display: none;
position: absolute;
left: 0;
top: 0;
right: 0;
bottom: 0;
}
.site-nav-drawer-open .site-nav-overlay {
left: 280px;
z-index: 900;
display: block;
}
4. Wrap the main content into a container.
<div class="container"> ... </div>
5. The required CSS/CSS3 styles for the main container.
.container {
background: #EAEAF1;
color: #333332;
height: 100%;
-webkit-transition: -webkit-transform .2s cubic-bezier(0.2, 0.3, 0.25, 0.9);
-moz-transition: -moz-transform .2s cubic-bezier(0.2, 0.3, 0.25, 0.9);
transition: transform .2s cubic-bezier(0.2, 0.3, 0.25, 0.9);
}
.site-nav-transition .container { position: fixed;}
.site-nav-drawer-open .container {
-webkit-transform: translate3d(280px, 0, 0);
-moz-transform: translate3d(280px, 0, 0);
transform: translate3d(280px, 0, 0);
}
6. Load the needed jQuery JavaScript library in the document.
<script src="http://code.jquery.com/jquery-2.1.1.min.js"></script>
7. The JavaScript to active the off-canvas push menu.
var body=$('body');
$('.site-nav-logo').click(function(){
body.addClass('site-nav-transition site-nav-drawer-open');
});
$('.site-nav-overlay').click(function(){
body.removeClass('site-nav-drawer-open');
setTimeout(function(){
body.removeClass("site-nav-transition");
},1300);
});
This awesome jQuery plugin is developed by adiljany. For more Advanced Usages, please check the demo page or visit the official website.











