Morphing эффект для текста

05 Июля 2021 22:01

HTML

<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>

CSS

*, *::before, *::after {
    padding: 0;
    margin: 0 auto;
    box-sizing: border-box;
}
.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 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;
  }
}

Результат