
Web 动画周报,一周一刊,每周五发布。让我们来一起聊聊 Web 动画,和它们背后的故事。
本期亮点:Paul 为我们带来了他最新的 WebGL 动画《死亡之舞》,一只荧光蜘蛛在霓虹色的蛛网上随着节奏摆弄着自己的身姿。死亡,往往伴随着最鲜艳的颜色。
周报将 Web 动画大致分为三类:CSS 动画、SVG 动画 和 WebGL/Canvas 动画。所有的动画将按类别展示,方便读者有针对性的学习。
CSS 动画

1. 《3D 折叠收据》 作者:Kriszta

<div>
元素的过度使用。折叠的视觉效果是通过将两个伪元素绕 x
轴方向进行旋转实现的:rotate3d(1, 0, 0, xdeg)
。绕 x
轴旋转到底是朝哪个方向旋转?CSS rotate3d 遵循左手法则:伸出左手,让大拇指与其余四指垂直,将大拇指朝向 x
轴正方向(即水平向右),其余四指弯曲的方向就是绕 x
轴旋转的正方向。 y
, z
轴同理。
2. 《懒惰的滑动条》作者:Anurag

<input class="slider"...>
元素传入一个函数就可以了,只需要一行代码。
3. 《Apple Mac Pro》 作者:Filip Vitas

SVG 动画

1. 《波》 作者:Alaric Baraou

<mask>
上的。简单来说,“波”字的每一个笔画都被一个和这个笔画形状差不多的很粗的光滑曲线“遮住”了,这些光滑的曲线被放在 <mask>
中,当我们利用路径动画缓缓的画出这些 <mask>
的时候,这些笔画也就被画了出来。
2. 《分栏》 作者:Andreas Storm

<fegaussianblur>
和 <fecolormatrix>
,其余的滤镜可以根据要实现的效果再酌情添加。
3. 《波浪 LOGO 动画》 作者:Peter Barr

<fegaussianblur>
和 <fecolormatrix>
滤镜。不同的是,作者还添加了<feTurbulence>
和 <feDisplacementMap>
这两个滤镜, 前者用来曲线化 logo 的轮廓,后者为动画添加一些位移以营造波浪的感觉。
WebGL / Canvas 动画

1. 《紫色激光》 作者:Dave Kwiatkowski

2. 《死亡之舞》作者: Paul

UnrealBloomPass
后处理。蜘蛛的舞蹈并没有 hook 上任何的 音频 API,因为音乐本身没有变奏,所以只需要让蜘蛛在特定的频率下跳动就可以了。
这一期的 Web 动画周报就到这里啦。如果你对周报有什么意见或者建议,欢迎在下方留言。你也可以向周报投稿,投稿的方式是把自己的动画的 Codepen 链接发送到周报下面的评论里即可。Web 动画周报,一周一刊,每周五发布,我们下周见!