CSS实现TikTok文字抖动效果

5,005 阅读1分钟

图片

前端同学在日常开发中精彩会因为一些动效和设计争的面红耳赤,设计希望用代码实现,前端要设计出gif图,最后谁也不让谁,设计走了,留下了前端独自加班......

CSS技术是前端必须掌握的一项技能,不仅要掌握,而且要精通。现在前端框架横行的趋势,程序员写样式的机会也越来越少,组件式开发,一个页面几乎不用写一行css代码。即使不写,但是背后的原理一定要弄明白。

从网页性能的角度,能用css实现的动画绝不用js,能用js实现的动画绝不用gif,在执行动画的时候css可以调用机器的GPU去执行,性能自然比js有优势得多。以上TikTok的文字抖动,可用css animation动画实现,通过变换文字的阴影方向,设置循环的动画帧的模糊的效果。知道原理就会简单的多。不妨平时多去揣摩揣摩。

附上代码

body {
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
  background: #000;
}
h2 {
  color: #fff;
  font-family: sans-serif;
  font-size: 4em;
  animation: animate 0.5s linear infinite;
}

@keyframes animate {
  0%, 100% {
    text-shadow: -1.5px -1.5px 0 #0ff, 1.5px 1.5px 0 #f00;
  }
  25% {
    text-shadow: 1.5px 1.5px 0 #0ff, -1.5px -1.5px 0 #f00;
  }
  50% {
    text-shadow: 1.5px -1.5px 0 #0ff, 1.5px -1.5px 0 #f00;
  }
  75% {
    text-shadow: -1.5px 1.5px 0 #0ff, -1.5px 1.5px 0 #f00;
  }
}