<div class="container">
  <div class="button">Center -> out</div>
  <div class="button">Left -> Right -> Left</div>
  <div class="button">Left -> Right -> Right</div>
  <div class="button">Top -> Bottom -> Top</div>
  <div class="button">Skew Fill Left -> Right</div>
<!--   <div class="button">Flex Grow</div> -->
  <div class="button">Rounded Corners</div>
  <div class="button">Scale</div>
  <div class="button">Border (Inner Shadow)</div>
  <div class="button">Border (Outer Shadow)</div>
</div>
body {
  background: linear-gradient(135deg, rgba(85,239,203,1) 0%,rgba(30,87,153,1) 0%,rgba(85,239,203,1) 0%,rgba(91,202,255,1) 100%);
  color: #f7f7f7;
  font-family: 'Lato', sans-serif;
  font-weight: 300;
}
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  align-content: center;
  flex-wrap: wrap;
  width: 60vw;
  max-width: 1200px;
  margin: 0 auto;
  min-height: 100vh;
}
.button {
  flex: 1 1 auto;
  margin: 10px;
  padding: 20px;
  border: 2px solid #f7f7f7;
  text-align: center;
  text-transform: uppercase;
  position: relative;
  overflow:hidden;
  transition: .3s;
  &:after {
    position: absolute;
    transition: .3s;
    content: '';
    width: 0;
    left: 50%;
    bottom: 0;
    height: 3px;
    background: #f7f7f7;
  }
  &:nth-of-type(2):after {
    left: 0;
  }
  &:nth-of-type(3):after {
    right: 0;
    left: auto;
  }
  &:nth-of-type(4):after {
    left: 0;
    bottom: auto;
    top: -3px;
    width: 100%;
  }
  &:nth-of-type(5):after {
    height: 120%;
    left: -10%;
    transform: skewX(15deg);
    z-index: -1;
  }
  &:hover {
    cursor: pointer;
    &:after {
      width: 100%;
      left: 0;
    }
    &:nth-of-type(4):after {
      top: calc(100% - 3px);
    }
    &:nth-of-type(5) {
      color: #5bcaff;
    }
    &:nth-of-type(5):after {
      left: -10%;
      width: 120%;
    }
    // &:nth-of-type(6) {
    //   flex-grow:3;
    // }
    // &:nth-of-type(6):after {
    //   width: 0%;
    // }
    &:nth-of-type(6) {
      border-radius: 30px;
    }
    &:nth-of-type(6):after {
      width: 0%;
    }
    &:nth-of-type(7) {
      transform: scale(1.2);
    }
    &:nth-of-type(7):after {
      width: 0%;
    }
    &:nth-of-type(8) {
      box-shadow: inset 0px 0px 0px 3px #f7f7f7;
    }
    &:nth-of-type(8):after {
      width: 0%;
    }
    &:nth-of-type(9) {
      box-shadow: 0px 0px 0px 3px #f7f7f7;
    }
    &:nth-of-type(9):after {
      width: 0%;
    }
  }
}
View Compiled

External CSS

  1. https://fonts.googleapis.com/css?family=Lato:300

External JavaScript

This Pen doesn't use any external JavaScript resources.