<a class="btn btn-2">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-2:hover:after,
.btn-2:hover:before {
 -webkit-backface-visibility: hidden;
 backface-visibility: hidden;
 border-color: #fff;
 transition: width 310ms ease-in-out;
 width: 70%;
}

.btn-2:after,
.btn-2:before {
 -webkit-backface-visibility: hidden;
 backface-visibility: hidden;
 border: 1px solid rgba(255, 255, 255, 0);
 bottom: 0px;
 left: 0px;
 content: " ";
 display: block;
 margin: 0 auto;
 position: relative;
 transition: all 210ms ease-in-out;
 width: 0;
}