Direction Button

by Bouteille Dimitri

HTML

<div class="align">
  <div class="align-bis">
<p>
  <a href="" class="direction-btn">Send a message</a>
</p>
</div>
</div>
<div class="align">
<div class="align-bis">
<p>
  <a href="" class="direction-btn to-right">Back to home</a>
</p>
</div>
</div>

<div class="align">
  <div class="align-bis">
<p>
  <a href="" class="direction-btn animate">Send a message</a>
</p>
</div>
</div>
<div class="align">
<div class="align-bis">
<p>
  <a href="" class="direction-btn to-right animate">Back to home</a>
</p>
</div>
</div>

SCSS

@import url('https://fonts.googleapis.com/css?family=Roboto:300,400,500,700,900');
@import url('https://fonts.googleapis.com/icon?family=Material+Icons');

$primary : #03A9F4;
$grey : rgb(242,242,242);
$white : #fff;
$black: #333;

//
// Default style
* {
  padding: 0;
  font-family: 'Roboto', sans-serif;
  font-weight: 400;
  color: #000;
  font-size: 15px;
}

.align{
  display: flex;
  background-color: rgb(250,250,250);
  &-bis{
    flex: 1;
    display:flex;
    justify-content: center;
    padding: 40px 0;
  }
  .black{
    background-color:$black;
  }
}


.direction-btn{
  position:relative;
  text-decoration: none;
  text-transform: uppercase;
  display:inline-block;
  font-weight:500;
  transition: all 0.2s ease;
  &:after{
    transition: all 0.2s ease;
    font-family: "Material Icons";
    content:"\E5CC"; 
    position: absolute;
    left: 100%;
    font-weight: 600;
    margin-left: 4px;
    font-size:  16px;
    top: 50%;
    transform: translateY(-50%);
  }
  &:hover, &:focus {
    color: $primary;
    &:after{
      margin-left: 15px;
    }
  }
  &.to-right{
    &:after{
      content:'\E5CB';
      left: auto;
      right: 100%;
      margin-left: 0;
     margin-right: 4px;
    }
    &:hover, &:focus{
        &:after{
          margin-right: 15px;
        }
      }
  }
  
  &.animate{
    &:after{
      margin-left: -10px;
      opacity: 0;
    }
    &.to-right{
      &:after{
        margin-right: -10px;
      }
      &:hover{
        &:after{
          margin-right: 10px;
        }
      }
    }
    &:hover{
      &:after{
        opacity: 1;
        margin-left: 10px;
      }
    }
  }
  
}