<a class="btn btn-4">Hover</a>
*{
box-sizing: inherit;
transition-property: all;
transition-duration: .3s;
transition-timing-function: ease;
}
a {
text-decoration: none;
}
.btn {
color: #fff;
cursor: pointer;
display: block;
font-size: 16px;
font-weight: 400;
line-height: 45px;
margin: 10px;
max-width: 150px;
width: 100%;
height: 45px;
text-align: center;
position: relative;
text-transform: uppercase;
}
.btn-4:after {
content: ' ';
display: block;
width: 0;
height: 2px;
background: #fff;
transition: width 310ms ease-in-out;
}
.btn-4:hover:after {
width:100%;
}