button fill color animation
by Sreeraj Saseendran
HTML
<div class="outer">
<div class="button" id="clickElement">
<div class="text">button</div>
</div>
</div>
<a href="javascript:void(0);" onclick="myFunction()" >click here</a>
CSS
.outer {
margin: 50px;
}
.button {
border: 1px solid black;
border-radius: 3px;
width: 100px;
height: 30px;
display: block;
position:relative;
overflow: hidden;
}
.button:before {
position:absolute;
background: red;
content:'';
width: 100%;
left: -100%;
height:100%;
top: 0;
opacity: .5;
transition: left .3s ease-in;
}
.button.added {
background-position: left bottom;
}
.text {
text-align: center;
font-size: 16px;
line-height: 30px;
color: black;
transition: all .6s ease-out;
display: block;
}
.button.added:before {
left: 0;
}
JavaScript
function myFunction(){
var x = document.getElementById("clickElement");
x.classList.add("added");
}