Responsive Sidebar Push Menu with jQuery and CSS3
| File Size: | 28.5 KB |
|---|---|
| Views Total: | 31961 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
Yet another responsive off-canvas navigation system that uses CSS3 transition to smoothly slide out a sidebar push menu from the right hand side of the web page. Built with jQuery, CSS3, Bootstrap 3 and Font Awesome4. jQuery is used only to make the menu open / close on click by toggling CSS classes.
How to use it:
1. Include the required Bootstrap 3 core CSS and Font Awesome 4 icon font in the header.
<link rel="stylesheet" href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css"> <link rel='stylesheet' href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css">
2. Create the Html for the push menu.
<div id="push_sidebar">
<ul class="list-unstyled">
<li><a href="#"><i class="fa fa-home"></i> Home</a></li>
<li><a href="#"><i class="fa fa-envelope"></i> Email</a></li>
<li><a href="#"><i class="fa fa-dollar"></i> Dollar</a></li>
<li><a href="#"><i class="fa fa-question-circle"></i> FAQ</a></li>
<li><a href="#"><i class="fa fa-info-circle"></i> Info</a></li>
<li><a href="#"><i class="fa fa-comments"></i> Comments</a></li>
</ul>
</div>
3. Create a trigger element to toggle the push menu.
<span class="nav_trigger"> <i class="fa fa-navicon"></i> </span>
4. Wrap your main content into the 'wrapper' container.
<div id="wrapper"> ... </div>
5. Load the jQuery JavaScript library at the bottom of the web page.
<script src="//ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
6. The JavaScript to toggle CSS classes when you open / close the push menu.
$(".nav_trigger").click(function() {
$("body").toggleClass("show_sidebar");
$(".nav_trigger .fa").toggleClass("fa-navicon fa-times");
});
7. The core CSS/CSS3 styles for the push menu.
.nav_trigger {
cursor: pointer;
display: inline-block;
font-size: 26px;
margin: 5px 20px 0 50px;
float: right;
}
body.show_sidebar .nav_trigger { margin-right: 5px; }
#push_sidebar {
background: #31373d;
border-left: 1px solid #ddd;
bottom: 0;
color: #95A7B7;
left: 100%;
overflow: auto;
position: fixed;
top: 0;
width: 25%;
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-ms-transition: all .5s ease;
-o-transition: all .5s ease;
transition: all .5s ease;
}
body.show_sidebar #push_sidebar { left: 75%; }
#wrapper {
margin-right: 0;
min-height: 1000px;
overflow: hidden;
width: 100%;
-webkit-transition: all .5s ease;
-moz-transition: all .5s ease;
-ms-transition: all .5s ease;
-o-transition: all .5s ease;
transition: all .5s ease;
}
body.show_sidebar #wrapper {
margin-right: 25%;
width: 75%;
}
@media (max-width: 767px) {
.nav_trigger {
font-size: 19px;
margin: 5px 5px 0 20px;
}
#push_sidebar { width: 80%; }
body.show_sidebar #push_sidebar { left: 20%; }
body.show_sidebar #wrapper {
margin-right: 80%;
width: 20%;
}
}
@media (min-width: 992px) {
#push_sidebar { width: 20%; }
body.show_sidebar #push_sidebar { left: 80%; }
body.show_sidebar #wrapper {
margin-right: 20%;
width: 80%;
}
}
#push_sidebar li a {
padding: 10px 15px 10px 5px;
display: block;
font: 13px Tahoma, Arial, serif;
background: #31373d;
color: #95A7B7;
text-decoration: none;
border-bottom: 1px solid #3D454C;
}
#push_sidebar li a:hover {
background-color: #272c30;
color: #95a7b7
}
#push_sidebar li a .fa {
font-size: 19px;
float: right;
width: 30px;
text-align: center;
margin-left: 5px;
}
This awesome jQuery plugin is developed by AmrMekkawy. For more Advanced Usages, please check the demo page or visit the official website.











