<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>
<div class="morphing ja">
  <div class="word">CSS</div>
  <div class="word">だけで</div>
  <div class="word">モーフィング</div>
  <div class="word">アニメーション</div>
  <div class="word">を作れる</div>
  <div class="word">でも少し</div>
  <div class="word">調整必要!?</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;
}



.morphing {
  position: relative;
  font-size: 90px;
  background-color: #000;
  color: #fff;
  min-height: 50vh;
  filter: contrast(25) blur(1px);
}
.ja{font-weight:bold;font-size: 45px;}
.word {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  animation: word 16s infinite ease-in-out;
}
.word:nth-child(1) {
 animation-delay: -16s;
}
.word:nth-child(2) {
animation-delay: -14s;
}
.word:nth-child(3) {
animation-delay: -12s;
}
.word:nth-child(4) {
animation-delay: -10s;
}
.word:nth-child(5) {
animation-delay: -8s;
}
.word:nth-child(6) {
 animation-delay: -6s;
}
.word:nth-child(7) {
animation-delay: -4s;
}

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

External CSS

This Pen doesn't use any external CSS resources.

External JavaScript

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