<a href="#" class="btn">Some text</a>
body {
margin: 50px;
padding: 0;
background-color: #CCC;
}
.btn {
text-decoration: none;
display: inline-block;
background-color: #fff;
padding: 20px 20px 20px 80px;
border-radius: 5px;
position: relative;
overflow: hidden;
color: #000;
font-family: sans-serif;
transition: all 0.5s;
box-shadow: 0px 12px 60px -8px rgba(0,0,0,0.14);
}
.btn:hover {
background-color: #3f2b6a;
color: #FFF;
padding: 20px 50px 20px 50px;
}
.btn:hover:before, .btn:hover:after {
left: 120%;
}
.btn:before {
content: "";
display: block;
position: absolute;
left: -100%;
top: 0;
width: 122%;
height: 100%;
background-color: #3f2b6a;
transition: all 0.4s;
}
.btn:after {
content: "";
display: block;
position: absolute;
left: 14px;
top: 50%;
width: 46px;
height: 46px;
background-color: #3f2b6a;
transform: rotate(45deg) translateY(-50%);
border-radius: 11px 5px;
transform-origin: center top;
transition: all 0.4s;
}
This Pen doesn't use any external CSS resources.
This Pen doesn't use any external JavaScript resources.