<div class="morphing">
  <div class="word">Word</div>
  <div class="word">morphing</div>
  <div class="word">with</div>
  <div class="word">pure</div>
  <div class="word">CSS</div>
  <div class="word">is</div>
  <div class="word">great!</div>
</div>
@import url('https://fonts.googleapis.com/css2?family=Roboto+Slab&display=swap');

*, *::before, *::after {
  padding: 0;
  margin: 0 auto;
  box-sizing: border-box;
}

body {
  font-family: 'Roboto Slab', serif;
}

$speed: 16s;
$wordCount: 7;

.morphing {
  position: relative;
  font-size: 120px;
  background-color: #000;
  color: #fff;
  min-height: 100vh;
  filter: contrast(25) blur(1px);
}

.word {
  position: absolute;
  top: 50%; left: 50%;
  transform: translate(-50%, -50%);
  animation: word $speed infinite ease-in-out;

  @for $i from 0 to $wordCount {
    &:nth-child(#{$i + 1}) {
      animation-delay: ($speed / ($wordCount + 1) * $i) - $speed;
    }
  }

  @keyframes word {
    0%, 5%, 100% { filter: blur(0px); opacity: 1; }        
    20%, 80% { filter: blur(1em); opacity: 0; }        
  }
}
View Compiled

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

  1. https://assets.codepen.io/1948355/twitterButton-2.1.0.js