JSFiddle - React, Tailwind, and code Playground

by justinwinter

HTML

<div>
  <h1 class="animate-reveal animate-first">A pure CSS onload animation that plays once!</h1>
  <h1 class="animate-reveal animate-second">Apply it to multiple elements, with differing delays!</h1>
  <h1 class="animate-reveal animate-third">Amazing!!!</h1>
</div>

CSS

h1 {
  margin: 0 0 .5em;
  padding: 0;
}

.animate-reveal {
  font: bold 1.5em sans-serif;
  text-transform: uppercase;
  letter-spacing: 2px;
  opacity: 0;
  -webkit-animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards;
     -moz-animation: reveal 1s ease-in 1 normal forwards;
       -o-animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards;
          animation: reveal 1s cubic-bezier(0, 1, 0.5, 1) 1 normal forwards;
}

.animate-first {
  -webkit-animation-delay: 0;
     -moz-animation-delay: 0;
       -o-animation-delay: 0;
          animation-delay: 0;
}

.animate-second {
  -webkit-animation-delay: 500ms;
     -moz-animation-delay: 500ms;
       -o-animation-delay: 500ms;
          animation-delay: 500ms;
}

.animate-third {
  -webkit-animation-delay: 1s;
     -moz-animation-delay: 1s;
       -o-animation-delay: 1s;
          animation-delay: 1s;
}

@-webkit-keyframes reveal {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
       -moz-transform: translateY(100%);
         -o-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
       -moz-transform: translateY(0);
         -o-transform: translateY(0);
            transform: translateY(0);
  }
}

@-moz-keyframes reveal {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
       -moz-transform: translateY(100%);
         -o-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
       -moz-transform: translateY(0);
         -o-transform: translateY(0);
            transform: translateY(0);
  }
}

@-o-keyframes reveal {
  0% {
    opacity: 0;
    -webkit-transform: translateY(100%);
       -moz-transform: translateY(100%);
         -o-transform: translateY(100%);
            transform: translateY(100%);
  }
  100% {
    opacity: 1;
    -webkit-transform: translateY(0);
       -moz-transform:...