Morphing Material Design Modal with jQuery and CSS3
| File Size: | 2.82 KB |
|---|---|
| Views Total: | 5926 |
| Last Update: | |
| Publish Date: | |
| Official Website: | Go to website |
| License: | MIT |
A Google Material Design inspired floating action button that uses jQuery and CSS3 to morphs into a responsive, centered modal popup on clicked.
How to use it:
1. Create a floating action button on your webpage.
<a href="#" class="btn btn-float"> <i class="mdi-content-add"></i> </a>
2. Style the floating button.
.btn {
transition: all 0.5s;
max-width: 1000px;
max-height: 1000px;
position: absolute;
right: 10px;
bottom: 100px;
}
.btn-float {
width: 55.5px;
height: 55.5px;
background: #FF4081;
border: none;
outline: 0;
border-radius: 50%;
color: #eee;
text-align: center;
letter-spacing: 0.5px;
padding: 0;
line-height: 56px;
box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.16), 0 2px 10px 0 rgba(0, 0, 0, 0.12);
}
3. Create the modal popup.
<div class="modal">
<a href="#" class="close">
<i class="mdi-navigation-close"></i>
</a>
<div class="modal-content">
<h3>Modal content here</h3>
</div>
</div>
4. Style the modal popup.
.modal {
z-index: 20;
display: none;
position: relative;
top: -100%;
width: 100%;
height: 100%;
color: #eee;
background-color: #FF4081;
box-shadow: 0px 2px 5px rgba(0,0,0,0.4);
}
.modal>.close {
display: inline-block;
position: relative;
margin: 10px;
right: 10px;
width: 100%;
text-align: right;
float: right;
font-size: 1.6rem;
line-height: 37px;
color: rgba(0,0,0,0.37);
}
.modal>.close:hover { cursor: pointer; }
.modal>.modal-content {
width: 100%;
height: 100%;
padding: 10px;
}
.modal>.modal-content>h3 {
font-size: 52px;
text-align: center;
padding-top: 150px;
}
5. Create the morphing animations.
@-webkit-keyframes
slide { 0% {
width:70px;
height: 56px;
}
5% {
width:100px;
height: 56px;
margin-right:20%;
}
10% {
width:130px;
height: 56px;
margin-right:30%;
}
20% {
width:70px;
height: 56px;
margin-right:40%;
}
25% {
width:56px;
height: 56px;
margin-bottom:0px;
margin-right:40%;
}
100% {
width:200%;
height:200%;
margin-bottom:-50%;
margin-right:-40%;
}
}
.slide {
position: relative;
-webkit-animation-name: slide;
-webkit-animation-duration: 1s;
-webkit-animation-fill-mode: forwards;
}
6. Load the latest version of jQuery library in the document.
<script src="//code.jquery.com/jquery-2.1.3.min.js"></script>
7. The Javascript.
$(function() {
$('body').on('click', '.btn-float', function(event) {
event.preventDefault();
var ele = $(this);
$(this).parent().addClass('open');
$(this).addClass('slide');
setTimeout(function() {
ele.parent().siblings().fadeIn();
setTimeout(function() {
ele.parent().removeClass('open');
ele.removeClass('slide');
}, 500)
}, 600);
});
$('body').on('click', '.close', function(event) {
event.preventDefault();
$(this).parent().fadeOut();
});
});
This awesome jQuery plugin is developed by moso. For more Advanced Usages, please check the demo page or visit the official website.











