Material Design Inspired Floating Navigation with jQuery and CSS3
| File Size: | 3.33 KB |
|---|---|
| Views Total: | 4013 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A jQuery/CSS3 navigation concept to create a Material Design inspired floating action button that morphs into a navigation panel when toggled.
How to use it:
1. Create a navigation menu with a toggle button.
<nav class="float-nav closed">
<ul>
<li><a href="#">Home</a></li>
<li><a href="#">Blog</a></li>
<li><a href="#">Contact</a></li>
</ul>
<a class="toggle" href="#">+</a>
</nav>
2. The CSS styles to make the floating navigation sticky at the bottom of the screen.
.float-nav {
position: fixed;
z-index: 1;
bottom: 1.375em;
right: 1.375em;
overflow: hidden;
width: 200px;
height: 200px;
padding: 1.375em;
text-align: right;
background: #0cf;
border: 5px solid #0cf;
box-shadow: 0 1px 2px rgba(0,0,0,0.2), 0 4px 10px rgba(0,0,0,0.15);
-webkit-transition: all 300ms cubic-bezier(.6, -0.3, .3, 1.3);
transition: all 300ms cubic-bezier(.6, -0.3, .3, 1.3);
}
.float-nav .toggle {
position: absolute;
bottom: 0;
right: 0;
width: 1.375em;
height: 1.375em;
font-size: 200%;
line-height: 1.375em;
font-weight: 300;
text-align: center;
-webkit-transform: rotate(45deg);
-ms-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transform-origin: 50%;
-ms-transform-origin: 50%;
transform-origin: 50%;
-webkit-transition: all 300ms;
transition: all 300ms;
}
3. The CSS styles to rotate the toggle button using CSS3 transform.
.float-nav.closed .toggle {
-webkit-transform: rotate(0);
-ms-transform: rotate(0);
transform: rotate(0);
}
4. The CSS/CSS3 to style the floating navigation with a morphing effect using CSS3 transitions.
.float-nav.closed {
width: 0;
height: 0;
border: 5px solid #fff;
border-radius: 50%;
}
.float-nav a {
display: inline-block;
color: #fff;
}
.float-nav > a { -webkit-tap-highlight-color: rgba(0,0,0,0); }
.float-nav ul {
position: absolute;
bottom: 4.125em;
right: 1.375em;
opacity: 1;
list-style: none;
-webkit-transition: all 300ms;
transition: all 300ms;
}
.float-nav.closed ul { opacity: 0; }
.float-nav li {
padding: 0.25em 0;
margin-bottom: 0;
-webkit-transition: all 600ms;
transition: all 600ms;
}
.float-nav.closed li { margin-bottom: 1.375em; }
5. Load the needed jQuery JavaScript library at the end of the document.
<script src="//code.jquery.com/jquery-2.1.1.min.js"></script>
6. Active the floating navigation with a little bit JavaScript magic.
var floatNav = $('.float-nav'),
mainContent = $('.main-content');
floatNav.on('click', function(e) {
$(this).toggleClass('closed');
e.stopPropagation();
e.preventDefault();
});
mainContent.on('click', function() {
if (!floatNav.hasClass('closed')) floatNav.addClass('closed');
});
This awesome jQuery plugin is developed by joshbade. For more Advanced Usages, please check the demo page or visit the official website.











