纯CSS制作简易的文字轮播效果

废话不多说,先上效果图。产生的纹理是实际效果哦,神奇吧!

eg

核心要点就是将三个文本层绝对定位到相同位置,然后使用滤镜的对比度与模糊组合拳,通过一定的延迟计算得到,也算是老生常谈的技巧,非常之简单!直接上代码吧。

<main>
  <p class="text" style="--i:1">Where</p>
  <p class="text" style="--i:2">possible</p>
  <p class="text" style="--i:3">begins</p>
</main>
@import url("https://fonts.googleapis.com/css2?family=Protest+Revolution&display=swap");

main {
  height: 100vh;
  background:#333;
  filter: contrast(30);
  position: relative;
  .text {
    --text-node-count: 3;
    --single-duration: 1.2s;
    color: #fff;
    font-size: 8em;
    font-family: "Protest Revolution", sans-serif;
    font-weight: 400;
    position: absolute;
    top: 50%;
    left: 50%;
    translate: -50% -50%;
    letter-spacing: 4px;
    animation: ani calc(var(--text-node-count) * var(--single-duration))
      infinite;
    animation-delay: calc(
      (var(--i) * var(--single-duration)) - var(--text-node-count) *
        var(--single-duration)
    );
  }
}

@keyframes ani {
  0%,
  100% {
    color: #fff;
    filter: blur(0);
    opacity: 1;
  }

  35%,
  55% {
    filter: blur(35px);
    opacity: 0;
  }
}

附加一个codepen


有用的话,给大鹅点点赞、点点认可、发发评论啦~

86 Likes

太强了,是大鹅!

5 Likes

太强了,是大鹅!

3 Likes

太帅了!!学到了!!

3 Likes

非常简单的效果,相信大伙一看就会 :innocent:

4 Likes

太快了,是大帅哥!

3 Likes

太强了,是大鹅!

3 Likes

太强了,是CSS大佬

3 Likes

效果不错:+1:

2 Likes

大鹅太强了! :tieba_087:

2 Likes

太强了大鹅! :tieba_087:

3 Likes

太强了,是大鹅!

2 Likes

太强辣,大鹅老师又来上课了

2 Likes

太强了,大鹅太强了

2 Likes

大鹅更新了!强!

2 Likes

太强了佬

2 Likes

太强了,大佬

2 Likes

真帅啊,收藏了

2 Likes

大帅哥就是快!

3 Likes

Yuju老师也强!

3 Likes