HTML:
<div class="buttons is-centered"> <a href="#" class="btnStyle"> <span class="btnBlack"></span> <span class="btnTxt">TEST</span> </a> </div>
CSS:
.btnStyle{
position: relative;
z-index: 0;
background-color: red;
padding: 14px 78px;
overflow: hidden;
display: inline-block;
vertical-align: middle;
width: auto;
font-size: 13px;
line-height: 2em;
font-weight: 600;
text-transform: uppercase;
box-sizing: border-box;
margin: 0;
outline: 0;
border-radius: 5px;
cursor: pointer;
}
.btnBlack{
background-color: #1d1d1d;
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 0;
border-radius: 0;
transition: height .4s ease;
}
.btnStyle:hover .btnBlack{
height: 100%;
transition: height .4s ease;
}
.btnTxt{
position: relative;
display: inline-block;
color: white;
}
.btnTxt:before{
content: "";
width: 4px;
height: 4px;
border-radius: 100%;
background-color: white;
color: white;
position: absolute;
left: -10px;
top: 11px;
opacity: 1;
transition: transform .5s ease .1s,opacity .5s ease;
}
.btnTxt:after{
content: "";
width: 4px;
height: 4px;
border-radius: 100%;
background-color: white;
color: white;
position: absolute;
right: -10px;
top: 11px;
opacity: 1;
transition: transform .5s ease .1s,opacity .5s ease;
}
.btnStyle:hover .btnTxt:before{
transform: translateX(-100px);
opacity: 0;
transition: transform, .8s ease, opacity .5s ease;
}
.btnStyle:hover .btnTxt:after{
transform: translateX(100px);
opacity: 0;
transition: transform, .8s ease, opacity .5s ease;
}
