Fully Responsive Navbar with jQuery and CSS3
| File Size: | 2.93 KB |
|---|---|
| Views Total: | 22806 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
This is a jQuery based fully responsive navigation system that uses CSS3 media queries to detect the screen size and transforms the default horizontal navigation bar into a sliding toggle menu on small screens.
How to use it:
1. Create a normal navbar using nav and html unordered list.
<nav class="menu_open navbar_nav">
<a href="#" id="menu-acces" class="menu_a">OPEN THE MENU</a>
<ul class="menu_open navbar_ul">
<li class="menu_li">
<a class="menu_a" href="#">HOME</a>
</li>
<li class="menu_li">
<a class="menu_a" href="#">WORKS</a>
</li>
<li class="menu_li">
<a class="menu_a" href="#">ABOUT</a>
</li>
<li class="menu_li">
<a class="menu_a" href="#">CONTACT</a>
</li>
</ul>
</nav>
2. The CSS to style the navbar.
.navbar_nav {
height: 50px;
background-color: #F44336;
position: absolute;
z-index: 3;
}
.navbar_nav,
.menu_a { width: 100%; }
.menu_li,
.menu_a { display: inline-block; }
.menu_li {
width: 25%;
float: left;
opacity: 0.8;
text-align: center;
height: 50px;
background-color: #F44336;
}
.menu_a { padding: 16px 0; }
.menu_li:hover,
.menu_a:hover {
background-color: #03A9F4;
opacity: 1;
}
#menu-acces {
display: none;
width: 100%;
position: relative;
text-align: center;
}
.menu_open:after {
content: "";
display: table;
}
3. The CSS for the responsive menu on small screens. In this sample, the breakpoint is set to 480px.
@media only screen and (max-width: 480px) {
#menu-acces { display: block; }
.navbar_ul { display: none; }
.menu_li {
width: 100%;
position: relative;
opacity: 1;
}
.menu_open { height: auto; }
}
4. Load the needed jQuery library at the bottom of the webpage.
<script src="jquery.min.js"></script>
5. The jQuery script to toggle CSS classes based on screen size.
$(document).ready(function(){
responsive_menu = $('.navbar_ul');
$('#menu-acces').on('click', function(e) {
e.preventDefault();
responsive_menu.slideToggle();
});
$(window).resize(function(){
var obtener_ancho = $(this).width();
if(obtener_ancho > 480 && responsive_menu.is(':hidden')) {
responsive_menu.removeAttr('style');
}
});
$('nav li').on('click', function(e) {
var obtener_ancho = $(window).width();
if(obtener_ancho < 480 ) {
responsive_menu.slideToggle();
}
});
});
This awesome jQuery plugin is developed by didesweb. For more Advanced Usages, please check the demo page or visit the official website.











