JSFiddle - React, Tailwind, and code Playground
by Mahavirsinh Padhiyar
HTML
<html>
<head>
</head>
<body>
<a href="#">
<span>Button</span>
<div class="liquid">
</div>
</a>
</body>
</html>
CSS
*
{
margin: 0;
padding: 0;
box-sizing: border-box;
font-family: consolas;
}
body{
display: flex;
justify-content: center;
align-items: center;
min-height: 100vh;
background: #0c0c0c;
}
a
{
position: relative;
padding: 20px; 50px;
display: block;
text-decoration: area;
text-transform: uppercase;
width: 200px;
overflow: hidden;
}
a span
{
position: relative;
z-index; 1;
color: white;
font-size: 20px;
letter-spacing: 8px;
}
a .liquid
{
position: absolute;
left: 0;
top: -80px;
width: 200px;
height: 200px;
background: #4973ff;
box-shadow: inset 0 0 50px rgba(0,0,0,.5);
transition: 0.5s;
}
a:hover .liquid
{
top: -120px;
}
a .liquid:before,
a .liquid:after
{
content: '';
position: absolute;
width: 200%;
height: 200%;
top: 0;
left: 50%;
transform: translate(-50%,-75%);
}
a .liquid:before
{
border-radius: 45%;
background: rgba(20,20,20,1);
animation: animate 5s linear infinite;
}
a .liquid:after
{
border-radius: 40%;
background: rgba(20,20,20,0.5);
animation: animate 10s linear infinite;
}
@keyframes animate
{
0%
{
transform: traslate(-50%,-75%) rotate(0deg);
}
100%
{
transform: traslate(-50%,-75%) rotate(360deg);
}
}