HTML
<div class="container">
  <button type="text" class="btn">Button</button>
</div>
CSS
body {
  margin: 0;
  padding: 0;
  background: #3498db;
}
.container {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.btn {
  font-size: 16px;
  color: #fff;
  padding: 14px 36px;
  border-radius: 8px;
  border: none;
  outline: none;
  text-transform: uppercase;
  letter-spacing: 2px;
  transition: .5s ease-in-out;
  background: #f1c40f;
}
.btn:hover {
  background: #3498db;
  color: #262626;
}
.btn:hover::before,
.btn:hover::after {
  width: 100%;
  transition: .5s ease-in-out;
}
.btn::before,
.btn::after {
  content: '';
  position: absolute;
  height: 2px;
  width: 0;
  transition: .4s;
  background: #f1c40f;
}
.btn::before {
  top: 0;
  right: 0;
}
.btn::after {
  left: 0;
  bottom: 0;
}
Demo
Description
设置定位居中
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
transition 用来设置过渡 时间以及样式
transition: .5s ease-in-out;
 
                