沿着海岸
走一会儿。
风从哪边来
先看清眼前这一小段,再接着往下走。
沿岸的颜色
蓝色离得远一些,浅色留在近处。
停一会儿
画面可以慢,阅读也可以。
再往前一点
这张结束了,下一张刚好走进来。
到这里,就读完了。
收集一些画面里的小动作 MOTION / 02
有时记得一个效果,却不知道该搜什么。
在这里试一下,把名字也一起记住。
中文名是方便记忆的叫法,英文词留给继续寻找。HTML · CSS · JavaScript 持续收集中
先选一种使用场景,再往下找具体的做法。
元素动效可以直接在下方卡片里试玩。移动指针、点一下,看看它怎样回应。
在一张小网页里试 WEB / 01
先看清眼前这一小段,再接着往下走。
蓝色离得远一些,浅色留在近处。
画面可以慢,阅读也可以。
这张结束了,下一张刚好走进来。
到这里,就读完了。
先看清眼前这一小段,再接着往下走。
蓝色离得远一些,浅色留在近处。
画面可以慢,阅读也可以。
这张结束了,下一张刚好走进来。
先看清眼前这一小段,再接着往下走。
蓝色离得远一些,浅色留在近处。
画面可以慢,阅读也可以。
这张结束了,下一张刚好走进来。
先看清眼前这一小段,再接着往下走。
01蓝色离得远一些,浅色留在近处。
02画面可以慢,阅读也可以。
03这张结束了,下一张刚好走进来。
04先看清眼前这一小段,再接着往下走。
蓝色离得远一些,浅色留在近处。
画面可以慢,阅读也可以。
这张结束了,下一张刚好走进来。
慢慢往下走,让这一句话亮起来。
字一直都在,亮度跟着你走。在窗口内上下滚动,或拖动滑块;聚焦窗口后也能用方向键、Page Up / Down。
这里先看页面之间怎么衔接,不会跳出图鉴。想看地址真正改变,可以打开右侧的跨页示例。
从这一幕,到下一幕 VIDEO / 02
自动往返 · 拖一下进度,就停在你选的位置。
调低一点更轻,调高一点更放肆。
归零时只做柔和叠化。
当前设备暂时无法绘制这些形变,已用柔和叠化预览 A / B。
可以直接拖动,也可以点按钮试试
元素动效 / 惯性与约束
Inertia & bounce
手停了,球还想再走一段。
拖动时记住最近的速度,松手后继续前进。碰到边缘就反转对应方向的速度,每次反弹和移动都损失一点能量。
空心:低阻尼 · 实心:可调
元素动效 / 惯性与约束
Damping comparison
去同一个地方,有的多绕两下,有的刚好停住。
两颗球都被弹簧拉向目标,上面固定为低阻尼,下面由你调节。阻尼比小于 1 会来回越过终点,等于 1 接近临界状态,大于 1 则更慢地贴近。
可以直接拖动,也可以点按钮试试
元素动效 / 惯性与约束
Distance-constrained chain
你先走,后面的珠子一颗颗跟上。
每颗珠子保留上一刻的位置,先按惯性和重力移动,再反复修正相邻珠子的距离。上端由你牵着,其余部分自由摆动。
可以直接拖动,也可以点按钮试试
元素动效 / 惯性与约束
Cloth constraint mesh
只拉一个点,整张网也会跟着歪。
把网点用横、纵和斜向的短线连接,钉住上方两角。拖动时固定最近的可动点,反复修正线段长度,把拉力传到周围。
网格与对齐:网格先决定相邻关系,距离约束再让一个网点的移动传到周围。
十二个点,各有自己的节拍
元素动效 / 形变与空间
Pendulum wave
一起出发,渐渐散开,又在某一刻排好。
十二个点沿各自的短轨往返,频率依次相差一点。每个点都只走简单的正弦运动,组合起来却像一条正在扭动的线。
正弦波:每个点都做正弦往返;频率稍有差别,相位就会慢慢错开。
可以直接拖动,也可以点按钮试试
元素动效 / 进场与节奏
Distance-based stagger
从手边这一格开始,翻面一路传出去。
给每格算出它到落点的距离,距离越远,启动越晚。每张牌先缩到一条细线,再从另一面展开,留下一圈有先后顺序的动作。
放射与中心:格子仍排成矩形,启动时间却按离落点的距离向四周展开。
元素动效 / 拖拽与操作
Rotary dial
拧一点,波纹就密一点。
把指针相对旋钮中心的角度换成数值,再用同一个数值控制指示线和波纹频率。可转的范围是 270°,两端各留一点空隙。
旋转与支点:指示线绕旋钮中心旋转,角度被换算成同一个可调数值。
元素动效 / 拖拽与操作
Damped string response
拉得越远,松手时晃得越明显。
拖动时让曲线经过手指位置。松手后,位移按逐渐衰减的余弦变化,几次来回以后落回中线。
元素动效 / 拖拽与操作
Zipper reveal
从中间开一道口,底下的图案露出来。
拉头沿横轴移动,左右两片遮挡沿着同一顶点向上下分开。拉链齿也随开口改变位置,露出完整的底图。
元素动效 / 拖拽与操作
Swipe card stack
上面这张走了,底下那张接住位置。
拖动量同时控制卡片的位移和倾角。过了距离门槛再松手,卡片飞出;没过门槛就回到原位。下一张从后层补上来。
平移:平移负责卡片离开的位置,少量旋转让拖动方向更明显。
元素动效 / 指针反馈
Dock magnification
你面前这一个最大,旁边的也跟着抬一下。
测量指针到五个固定位置的距离,越近放得越大,邻居分到一点变化。按钮的点击区域保持不动,避免越放大越难点。
缩放与比例:根据到指针的距离改变缩放比例,点击区域则保持原位。
元素动效 / 拖拽与操作
Scratch-off reveal
不急着全打开,先擦一个小角看看。
在图案上盖一层画布,沿拖动轨迹擦掉圆头笔画。底下的图形一直存在,只是被遮住了。
元素动效 / 拖拽与操作
Elastic badge dismissal
近一点还连着,远一点就断开。
气泡和原点之间用两条二次曲线连成细颈;距离越远,原点越小。超过阈值后断开,松手让气泡消失,否则弹回原点。
贝塞尔曲线:用两条二次贝塞尔曲线连出气泡之间的细颈,控制点随拖动位置改变。
元素动效 / 指针反馈
Pointer magnifier
大画面不动,只把手边这一小块看清。
把同一幅图画两次。第二份放大两倍,平移到与原图同一点对齐,只在圆形窗口里露出。
缩放与比例:先把同一幅图放大两倍,再平移到观察点对齐,用圆形窗口显示局部。
停在第 1 站
元素动效 / 拖拽与操作
Drag & snap
松手以后,小方块自己找一个位置停好。
拖动时让方块跟随手指;松开后,按距离选出最近的停靠点,再用带一点过冲的关键帧落稳。
顺序:1、2、3
元素动效 / 布局过渡
FLIP layout animation
顺序已经换好,眼睛还能跟住每一张。
先记住各张纸的位置,实际改变列表顺序,再用前后位置的差值反向平移,最后归零。这就是 FLIP 的基本做法。
平移:列表先排到新位置,再用平移补出前后位置之间的过渡。
圆,边界没有转角。
方,四个角留在原位。
线,连接两个位置。
元素动效 / 状态与反馈
Sliding selection indicator
文字留在原地,一小块底色滑过去。
三个标签共享一块选中底色。点击时测量目标标签的位置和宽度,让同一个标记平移过去,内容随选择同步更新。
平移:同一块选中标记从一个标签平移到另一个,标签本身留在原地。
元素动效 / 布局过渡
Animated accordion
让内容腾出一点地方,再安稳地收回来。
把内容放在一行网格里,在 0fr 与 1fr 之间过渡,让高度随内容展开;旁边的加号同时旋转。
当前数值 042
元素动效 / 状态与反馈
Odometer transition
百位、十位、个位,各自走到新位置。
每一位背后都有一列 0 到 9,用小窗口只露出一个数字。数值改变时平移数字列,各位略微错开结束时间。
本地计时演示
元素动效 / 状态与反馈
Skeleton to content
先把位置留出来,内容到了,再换上去。
占位块与完成后的内容使用同一份布局。示意进度前进时,一束浅色扫过占位;完成后淡入文字和图形。
网格与对齐:先用相同布局占住图形与文字的位置,内容到来时就不必重新挤动整个页面。
松开就取消
元素动效 / 拖拽与操作
Hold to confirm
进度跟着按住的时间走,提前松开就归零。
记录按下的时间,用实际经过的时长计算进度;达到阈值后显示完成。松开、取消触摸或离开页面都会结束未完成的动作。
从一个点展开
元素动效 / 拖拽与操作
Radial action reveal
几件小工具,从同一个圆点里散开。
三个按钮的目标位置按角度排成一段圆弧,从中心同时平移并淡入。收起时回到同一个原点。
放射与中心:以开关为圆心,按角度安排三个工具,打开时沿各自的方向散开。
页面切换 / 页面进退
Directional page transition
往前走,下一页从右边来;返回时,方向也跟着反过来。
把即将离开的页与进入的页放在同一个窗口里,按前进或返回的方向平移。完成后只保留当前页可操作。
平移:页面保持原来的形状,按前进或返回的方向平移。
页面切换 / 页面进退
Curtain page transition
先把幕拉上,再揭开另一页。
一块实色遮罩先盖住窗口,在遮住时更换页面,随后继续移动离开。
页面切换 / 共享封面
Shared-element transition
点开的那张封面,直接长成详情页。
量出同一张封面在列表和详情里的位置、尺寸,动画把两者接起来。其余文字轻轻淡入。
缩放与比例:同一张封面的尺寸和位置从列表状态过渡到详情状态。
页面切换 / 页面进退
Circular page reveal
新的一页,从刚才点下去的地方长出来。
以页面内按钮的点击位置作为圆心,扩大新页面的可见圆形区域,直到盖满窗口。
正形、负形与留白:用圆形可见区域打开新页面,空处和实处的边界随半径改变。
页面切换 / 菜单与详情
Stacked detail transition
详情浮到前面,刚才那一页还留在后面。
列表页略微缩小,详情页从下方移入。返回时顺着原来的方向退回,保留刚才的空间关系。
页面切换 / 菜单与详情
Fullscreen navigation reveal
菜单展开成一整页,入口依次露出来。
先让菜单面板展开,再让几个入口错峰出现。选中入口后收起面板,回到对应页面。
滚动交互 / 阅读进度
Reading progress
不看滚动条,也知道这篇还剩多少。
将已经滚过的距离除以可滚动总距离,映射到顶部进度条。窗口大小变化后重新计算。
滚动交互 / 阅读进度
Scroll reveal
内容走进视野时,慢慢清晰起来。
根据每张内容卡与窗口边缘的距离,逐渐恢复透明度与原始位置。往回滚可以重新看这段过程。
滚动交互 / 停驻与视差
Scroll parallax
近处走得快一点,远处便像真的远了。
滚动交互 / 停驻与视差
Sticky scrollytelling
左边先停一会儿,右边接着把故事讲完。
让左边图示在一段容器范围内保持粘性定位,右边文字正常向上滚动;离开这段容器后一起离场。
滚动交互 / 停驻与视差
Pinned horizontal scroll
手还在向下滚,面前的画卷却向旁边展开。
先把横向画卷钉在窗口内,再用这段纵向滚动的进度推动画卷横移,依次经过三幅内容。
滚动交互 / 停驻与视差
Sticky card stack
后一张走上来,前一张留出一道边。
几张卡片依次进入粘性定位,各自停在略微错开的高度,后来的内容自然盖到前面。
滚动交互 / 逐屏停靠
CSS scroll snap
松开手之后,画面稳稳落在一整屏上。
给滚动容器设置纵向吸附,每一节提供一个停靠点,由浏览器完成最后的定位。
滚动交互 / 阅读进度
Scroll-driven text highlight
一句话,跟着你的阅读位置亮起来。
把一段滚动进度分配给文字中的各个字位,让它们从淡色逐渐变成正文颜色。
视频动效 / 视频转场
Displacement dissolve
两段画面碰到一起,边界先化开了。
用平滑噪声推开两段视频的采样位置,让不规则的边界慢慢扫过去。中间变形最强,头尾回到完整画面。
视频动效 / 视频转场
Swirl transition
从画面中央拧一下,把下一幕带出来。
围绕中心旋转采样坐标,越靠近中心转得越多。两段片在旋转中交接,随后慢慢舒展开。
视频动效 / 视频转场
Zoom-through transition
再靠近一点,就到了另一段画面里。
前一段向中心放大,后一段从较近的位置退回来。沿径向取多次样本,留下向外拉开的速度感。
缩放与比例:围绕画面中心改变采样尺度,配合模糊产生推近感。
视频动效 / 视频转场
Prismatic transition
像隔着几片玻璃,看见下一幕。
把画面分成放射状扇区,让相邻区域朝不同方向偏转,再对红蓝通道做小幅分离。
放射与中心:放射状扇区是分片的结构,转场时各片再发生偏转。
视频动效 / 视频转场
Mosaic shatter
旧画面缩成一小块一小块,新画面从缝里露出来。
每个网格片有自己的启动时间。旧片在格内旋转、缩小,底下那段视频便逐渐露出。
旋转与支点:每块网格片以自身中心转动,同时缩小,让底下的视频露出。
网格与对齐:规则网格决定碎片如何分块,启动时间和旋转决定它们怎样离开。
视频动效 / 视频转场
Film-burn wipe
一道暖色的边,慢慢把另一幕烧出来。
不规则噪声决定换片的先后,交接边缘叠一圈橙红色光晕。亮度被限制在局部,不做整屏白闪。
视频动效 / 视频转场
Signal-tear transition
几条扫描行先走,剩下的画面才跟上。
给水平条带分配交接时间,在临界进度把条带推向两侧,并在边缘留下一点色道错位。
视频动效 / 视频转场
Iris reveal
下一幕藏在中间,把孔开大一点。
从中心打开一个带多边形边缘的光圈,第二段视频从孔里显露。光圈扩大到覆盖四个角才结束。
正多边形:带棱角的光圈边界扩大,决定第二段视频从哪里露出。
视频动效 / 视频转场
Ripple wipe
水纹走到哪里,画面就换到哪里。
视频动效 / 视频转场
Pixelation transition
先把细节收起来,换完再慢慢还给你。
交接过程中逐渐放大采样网格,让两段片以固定的错峰顺序换位,随后恢复原来的清晰度。
视频动效 / 视频转场
Staggered panel flip
一排薄片转过身,背面已经是下一幕。
把画面分成竖片,依次压窄到侧面,再展开另一段视频;亮暗跟着翻转角度改变。
视频动效 / 视频转场
Luma dissolve
高光先换过去,阴影还停留一会儿。
读取前一段视频的亮度,让较亮的地方先切到后一段。阈值逐渐降低,最后连阴影也换过去。
视频动效 / 视频后期
Film grain & gate weave
留一点颗粒,像一卷放过很多次的胶片。
逐帧压低饱和度,叠加随画面更新的细颗粒、划痕与暗角,再让画框轻微游移。
视频动效 / 视频后期
VHS tracking distortion
信号没断,只是磁头又偏了一点。
把视频切成水平条带,错开少数条带的位置;底部添一道缓慢滚过的跟踪噪声。
视频动效 / 视频后期
RGB channel separation
红、绿、蓝各走一步,轮廓就散开了。
读取同一帧的像素,把红色和蓝色通道向相反方向挪开,绿色留在原地。
视频动效 / 视频后期
CRT scanlines
隔着细密的扫描线,看一台旧电视。
视频动效 / 视频后期
Temporal echo
这一帧走了,前几帧还舍不得离开。
视频动效 / 视频后期
Slit-scan video
同一幅画面的左边,比右边早一点。
把画面分成竖条,每一条读取不同时间的视频帧。并排摆回去,运动就被拧弯了。
视频动效 / 视频后期
Halftone video
把一段视频,印成不断变化的圆点。
先把每一小格的亮度读出来,再用不同半径的圆点替代像素。深色区域留下更大的点。
视频动效 / 视频后期
ASCII video
如果画面只能用键盘上的符号来写。
按亮度为每个小格选一个字符,同时保留采样位置的颜色。点、冒号和密集的字符拼出影像。
视频动效 / 视频后期
Time-offset split screen
三个窗口,同一个动作,没在同一秒。
三个窗口分别取现在、稍早和更早的画面,中间一格镜像翻转。
视频动效 / 视频后期
Venetian-blind wipe
一格一格掀开,片子已经换了颜色。
在原片与另一份冷色调处理之间,用错峰的竖向遮罩来回切换。两个画面仍使用同一时间点。
元素动效 / 形变与空间
Gooey metaballs
碰到时连成一片,分开时拉出细颈。
让几个圆彼此穿过,先模糊它们的边缘,再拉高透明度的对比。接近的轮廓便会连成一片,看起来像软软的液滴。
元素动效 / 指针反馈
Cursor motion trail
手已经过去,影子还没跟上。
留下一串过去的位置,用由浅到深的小方片画出来。靠后的方片缓慢追赶前面的,转弯时会甩出一小段尾巴。
元素动效 / 指针反馈
Particle repulsion
靠近一点,给你让一条路。
每个小点记住自己的原位。指针经过时把附近的点推开,再用带阻尼的回拉让它们归队。
疏密与聚散:指针推开附近的点,改变的是局部疏密,点的总数没有增加。
元素动效 / 指针反馈
Holographic foil
换个角度,颜色就不一样了。
把彩色渐变、细密条纹和一层高光叠在卡面上。指针改变卡片倾角与高光位置,像在转动一张镭射纸。
元素动效 / 字与图形
Text scramble
一堆乱码,慢慢认出自己的名字。
未确定的字位每隔一小段时间换一个符号,已确定的字位保持不动。解码从左向右推进,最后还原成 MOTION。
元素动效 / 形变与空间
Kaleidoscope
只动一小块,整朵花都在变。
先在一个扇区里画几条线和小圆,再把这个扇区旋转、镜像成十二份。原始图形轻轻移动,就能改变整幅花纹。
对称与破缺:镜像决定两侧怎样对应,万花镜再把这一关系绕中心重复。
放射与中心:把单元按角度分布在中心四周,再改变其中的图形。
元素动效 / 形变与空间
Moiré interference
两层简单条纹,叠出第三种花纹。
两组相同间距的同心圆错开位置,慢慢改变它们的相对距离。眼睛看到的粗细明暗,是细线叠加之后形成的新图案。
两层网纹的干涉感:两层周期图案已有叠纹,缓慢改变角度就能看见纹带移动。
元素动效 / 形变与空间
Perspective tunnel
没有真的前进,框却一层层迎面而来。
八个线框从远处向前放大,每个错开同样的时间。前端的框淡出后回到远处,形成持续前进的错觉。
透视与消失点:远近不同的尺度形成纵深,持续推进让静态空间像在向前延伸。
元素动效 / 字与图形
Kinetic type wave
一句话,从第一个字开始起伏。
六个字使用同一个上下起伏动作,各自延后一点开始。变换写在每个字上,文字的原始排版位置不变。
节奏与渐变:尺寸或位置的有序变化形成节奏;字浪把上下起伏按字位错开。
元素动效 / 形变与空间
Wave mesh
平平一张网,像布一样慢慢鼓起。
给规则网格的每个交点一个随时间变化的高度,再把它投影到平面。两列不同方向的波叠起来,就有了起伏的褶皱。
元素动效 / 进场与节奏
Dither dissolve
画面碎成小格,又一点点拼回来。
给每块小格分配一个固定阈值。进度扫过时依次显示或隐藏这些格子,得到带颗粒边缘的揭示效果。
网格与对齐:格子定义最小单元,固定的阈值决定每格显露或消失的时机。
元素动效 / 指针反馈
Vector field
你走到哪里,整片小针就朝哪里转。
每根针读取自己到目标的方向,再混入一份绕目标旋转的分量。方向角平滑转过去,像一阵风吹动了整个阵列。
元素动效 / 字与图形
Glitch typography
字还在原地,信号走偏了一点。
把同一行字叠成三层,只露出几条窄切片,再让蓝色与青色的副本短暂错位。这里的碎裂来自遮罩,文字本身仍可选中。
元素动效 / 字与图形
Typewriter
像有人坐在另一端,慢慢打字。
先把整句话排好,再用阶梯式的裁切逐字露出。光标跟随裁切边缘移动,不会反复向屏幕阅读器播报每个字。
元素动效 / 字与图形
Seamless marquee
走完一圈,又从刚才的地方接上。
将同一组内容首尾相接放两份,匀速平移一组的宽度。动画归零时,第二份恰好接替第一份。
平移:重复的内容持续平移,首尾对齐后形成无缝循环。
元素动效 / 指针反馈
Magnetic hover
还没碰到,按钮已经靠过来了。
测量指针相对外框中心的偏移,让按钮跟随一小段距离。测量的是不动的外框,避免按钮一动,坐标也跟着乱跳。
元素动效 / 指针反馈
Click ripple
点在哪里,圆就从哪里长出来。
以落点为圆心,画一个透明度渐低的圆,放大到盖住按钮。动画结束就移除这个圆。
圆、圆弧与扇形:以点击位置为圆心,让半径随时间增大,再逐渐淡出。
元素动效 / 指针反馈
3D tilt
把一张平面的卡片,稍稍拿起来。
根据指针横纵位置改变卡片绕两个轴的角度,再加一点透视。卡面上的线条一起转动,像一张有厚度的小纸片。
元素动效 / 指针反馈
Cursor spotlight
鼠标像一盏灯,照到哪里亮哪里。
把径向渐变的中心绑到指针位置,照亮底下的网格。灯没有单独的图片,只是一个随位置变化的渐变。
元素动效 / 进场与节奏
Staggered reveal
同一个动作,错开一点时间。
四张小纸片使用同一段位移与淡入,每张晚 110 毫秒开始。队列感来自时间差,不必给每张设计不同的动作。
重复与间隔:相同的单元先有空间排列,再把入场时间逐个错开。
元素动效 / 进场与节奏
Overshoot easing
越过终点一点,再落稳。
让圆先越过目标位置,再小幅折返,最后停住。这个样本用几段关键帧画出回弹感,没有运行真实的弹簧模型。
元素动效 / 字与图形
SVG stroke drawing
沿着一条路,慢慢画完。
把路径设成一段与自身等长的虚线,再改变虚线偏移,让整条线逐渐露出来。画面中的路径已经预先写好。
贝塞尔曲线:贝塞尔确定曲线路径,描边动画决定这条路径怎样逐步显露。
元素动效 / 进场与节奏
Clip-path reveal
画面一直都在,只是被一点点揭开。
元素动效 / 指针反馈
Card flip
正面放问题,背面留一句回答。
两张卡面背靠背,整体绕纵轴旋转半圈,并隐藏各自的背面。按钮会同步告诉辅助阅读工具当前是哪一面。
换个词试试,也许只是叫法不同。