Growing up

Fontawesome animations that make sense!

by Andy Challis

HTML

<link rel="stylesheet" href="https://netdna.bootstrapcdn.com/font-awesome/4.4.0/css/font-awesome.min.css">
<div class="container"><i class='fa fa-child fa-4x growing-child'></i></div>

CSS

@-webkit-keyframes growing {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    cursor: url('https://www.shareicon.net/data/128x128/2016/08/30/821306_milk_512x512.png') 50 15, auto;
  }
  
  33% {
    -webkit-transform: scale(2.5);
    -ms-transform: scale(2.5);
    transform: scale(2.5);
    cursor: url('https://www.shareicon.net/data/128x128/2016/08/30/821306_milk_512x512.png') 50 15, auto;
  }
  
  66% {
    -webkit-transform: scale(2.5);
    -ms-transform: scale(2.5);
    transform: scale(2.5);
    cursor: url('https://image.flaticon.com/icons/png/128/135/135528.png') 50 15, auto;
  }

  100% {
    -webkit-transform: scale(5);
    -ms-transform: scale(5);
    transform: scale(5);
    cursor: url('https://image.flaticon.com/icons/png/128/135/135528.png') 50 15, auto;
  }
}

@keyframes growing {
  0% {
    -webkit-transform: scale(1);
    -ms-transform: scale(1);
    transform: scale(1);
    cursor: url('https://www.shareicon.net/data/128x128/2016/08/30/821306_milk_512x512.png') 50 15, auto;
  }
  
  33% {
    -webkit-transform: scale(2.5);
    -ms-transform: scale(2.5);
    transform: scale(2.5);
    cursor: url('https://www.shareicon.net/data/128x128/2016/08/30/821306_milk_512x512.png') 50 15, auto;
  }
  
  66% {
    -webkit-transform: scale(2.5);
    -ms-transform: scale(2.5);
    transform: scale(2.5);
    cursor: url('https://image.flaticon.com/icons/png/128/135/135528.png') 50 15, auto;
  }

  100% {
    -webkit-transform: scale(5);
    -ms-transform: scale(5);
    transform: scale(5);
    cursor: url('https://image.flaticon.com/icons/png/128/135/135528.png') 50 15, auto;
  }
}

.growing-child {
  color: #444;
}

.growing-child:hover {
  color: #444;
  -webkit-animation: growing 2s;
  animation: growing 2s;
  text-align: center;
  animation-fill-mode: forwards;
}

.container {
  padding-top: 100px;
  display: flex;
  justify-content: center;
  align-items: center;
}