<header id="title">
  <h1><i class="ion-arrow-up-a"></i> Hover animation</h1>
  <p>Y axis bloc translation + top border animation + loop arrow animation.</p>
</header>



<div class="anim">
  <div class="up ion-arrow-up-a"></div>
  <h1>HOVER ANIMATION</h1>
  Y axis bloc translation + top border animation + loop arrow animation.
</div>
@import "compass/css3";

html,
body{
  height: 100%;
}
body{
  font-family: 'Open Sans', sans-serif;
}



.anim{
  @include box-sizing(border-box);
  width: 80%;
  margin: 0 auto;
  text-align: center;
  @include transition(all 200ms ease);
  background-color: #ecf0f1;
  padding: 2rem;
  width: 20rem;
  border-top: 4px solid transparent;
  cursor: pointer;
  
  .up{
    @include transition(all 300ms ease);
    @include border-radius(50%);
    background-color: #bdc3c7;
    width: 7rem;
    height: 7rem;
    margin: 0 auto;
    margin-bottom: 1rem;
    color: #ecf0f1;
    font-size: 4rem;
    line-height: 7rem;
    overflow: hidden;
  }
  
  &:hover{
    @include transition(all 300ms ease);
    @include transform(translateY(-20px));
    border-top: 3px solid #3498db;
    
    .up{
      @include transition(all 300ms ease);
      background-color: #3498db;
      
      &:before{
        @include animation(up 1s infinite);
      }
    }
  }
  h1{
    font-weight: bold;
    margin-bottom: 0.5rem;
  }
}







@keyframes up {
  0%{
    @include transform(translateY(0rem));
  }
  50% {
    @include transform(translateY(-7rem));
    @include opacity(0);
  }
  51% { 
    @include transform(translateY(7rem));
  }
  100%{
    @include transform(translateY(0rem));
    @include opacity(1);
  }
}

@-webkit-keyframes up {
  0%{
    @include transform(translateY(0rem));
  }
  50% {
    @include transform(translateY(-7rem));
    @include opacity(0);
  }
  51% { 
    @include transform(translateY(7rem));
  }
  100%{
    @include transform(translateY(0rem));
    @include opacity(1);
  }
}

@-moz-keyframes up {
  0%{
    @include transform(translateY(0rem));
  }
  50% {
    @include transform(translateY(-7rem));
    @include opacity(0);
  }
  51% { 
    @include transform(translateY(7rem));
  }
  100%{
    @include transform(translateY(0rem));
    @include opacity(1);
  }
}

@-o-keyframes up {
  0%{
    @include transform(translateY(0rem));
  }
  50% {
    @include transform(translateY(-7rem));
    @include opacity(0);
  }
  51% { 
    @include transform(translateY(7rem));
  }
  100%{
    @include transform(translateY(0rem));
    @include opacity(1);
  }
}
View Compiled

External CSS

  1. https://codepen.io/SebL/pen/90e4529e2d7cfd5f29168648d0dc1782.scss
  2. https://code.ionicframework.com/ionicons/1.5.2/css/ionicons.min.css
  3. https://fonts.googleapis.com/css?family=Open+Sans:400,300,700
  4. https://cdnjs.cloudflare.com/ajax/libs/ionicons/2.0.1/css/ionicons.min.css

External JavaScript

  1. //cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js