Vibe coding · 网页动效词典

先说触发 再说怎么动

你让 AI「加点高级动效」,它通常把标题、图片和卡片一起淡入。页面动了,但一个节奏、一个方向,还是很像模板。把 Punk 三篇文章里的 56 个词做成可以亲手操作的页面——整体柔和、克制,正文不逐字播放。

滚动继续 · 进度会跟在顶部

Layer 01 · 工具

先检查技术栈,简单动效优先 CSS

工具名称帮 AI 选实现路径。描述动效时,仍然要告诉它由什么触发、画面怎样变化。

CSS

淡入、悬停、展开、焦点。大多数产品页先从这里开始。

Motion

React / 组件状态、布局过渡、共享元素。

GSAP

滚动叙事、时间轴、复杂编排。

Three.js

3D 物体跟随、产品模型、空间场景。

Lottie

设计师导出的矢量动画,图标与插画。

Rive

可交互的状态机动画,按钮与角色。

Layer 02 · 触发方式

什么时候开始,不等于画面怎么动

滚动页面可以让标题淡入,也可以让背景与前景以不同速度移动。前者是滚动触发淡入,后者才叫视差。

HOVER

鼠标悬停

Enter / Leave / Group / Proximity

整张卡片响应。下划线从左侧展开。

靠近我

Hover 只说明什么时候触发。变色、抬升、显现还是磁吸,要继续写明。

FOCUS

键盘焦点

Focus-visible / Focus-within

用 Tab 走一遍。焦点环主要给键盘,避免鼠标点击后到处出现轮廓。

CLICK / TAP / PRESS

点击、轻触与按住

不要只做点击后的动作,漏掉按下反馈和再次点击后的状态。

POINTER

指针位置

Move / Position / Velocity

把光标坐标映射到光照中心。比普通 Hover 更适合跟随与互动背景。

IN VIEW

进入视口

Scroll-triggered · Once
滚到这里,播一次

像按下播放键。触发后动画自己播完,和跟随滚动不是一回事。

SCROLL-LINKED

跟随滚动进度

Scrub / Pin
0%

像拖动视频进度条。滚到哪里就播放到哪里,往回滚会倒放。

GESTURE

拖拽与回弹

拖我

元素跟手移动,松开后吸附回位。少量回弹,不要果冻感。

LOAD / ROUTE

页面加载

组件挂载时出现

首次打开、进入页面、数据就绪,都是触发,不是动效类型。

STATE

组件状态变化

状态 草稿

它解释「刚才的操作带来了什么变化」,比纯装饰更重要。

TIMER / IDLE

延时与空闲

自动播放不要抢走控制权。用户开始操作或开启减少动效后,应暂停或简化。

Layer 03 · A. 手感

五个词不决定往哪走,
只决定怎么加速

相同的 Fade,换一套 Duration 和 Easing,感觉会完全不同。刚开始可以先选减速缓动。

01

缓动

Easing
Linear
Ease-in
Ease-out
In-out

匀速像被机器拖动。进入常用 Ease-out:开始较快,结束时慢下来。

02

时长

Duration
短促
按钮
适中
偏慢

按钮要迅速,弹窗可以稍慢,大图揭示再柔和一点。页面里应有统一的快慢关系。

03

延迟

Delay

标题先出现,说明稍后,按钮最后。等待太久会让人以为页面卡住。

04

交错出现

Stagger

一组相似元素依次开始。整组要像连续动作,间隔太大会变成排队等候。

05

弹簧

Spring

少量回弹,快速停稳,不要果冻感。长正文和大面积背景不需要到处弹。

06

淡入与淡出

Fade in / Fade out
很稳妥。全站只用 Fade 会缺少层次。

适合加载、弹窗、提示。一个元素可以同时淡入并轻微上移,但主动作只留一个。

07

交叉淡化

Crossfade
陶瓷瓶 亚麻

旧内容淡出的同时新内容淡入。两个位置相同、内容不同的状态最合适。

08

滑入与滑出

Slide in / Slide out
底部面板

从哪一侧进入,就从哪一侧离开。

方向传达空间关系:右侧抽屉从右边进入,底部操作面板从下方升起。

09

缩放进入

Scale in / Scale out
确认这项操作?

弹窗从小到正常尺寸。长段文字频繁缩放会影响阅读稳定性。

10

模糊显现

Blur reveal
克制

适合大标题和主视觉。整页文字都使用模糊会增加渲染压力,也会拖慢阅读。

11

裁剪揭示

Clip-path reveal
窗边台阶

像打开一扇窗。窗外的图片一直存在,只是可见范围慢慢扩大。

12

蒙版显现

Mask reveal
折叠衬衫

光线扫过、墨迹扩散。需要清楚几何边界时优先用 Clip-path。

13

擦除转场

Wipe transition
下一章

色块沿某个方向扫过,把旧内容盖住并带出新内容。功能型页面频繁使用会显得很重。

14

文字显现

Text reveal
句子说完

标题可以有表现力,正文应该尽快稳定下来。字数越多,越要减少逐字动画。

15

按行显现

Line reveal
页面打开时 主标题按行显现 说明文字随后淡入

保留完整语句,比逐字更容易阅读。适合两到五行的大标题。

16

按词显现

Word reveal
每个词依次从下方轻微进入

中文没有天然空格,按短语分组。长段落不要按词播放。

17

按字符显现

Character reveal
PUNK

只适合很短的词、Logo、数字。中文长句和按钮文字通常不需要。

18

打字机

Typewriter

强调内容正在生成。正文介绍不适合让用户等着逐字打完。

19

乱码解码

Scramble text
READY

中文乱码容易难看,可以只让英文或数字部分变化。悬停会重新解码。

20

文字变形

Text morphing
Loading

同一位置的关键词循环替换。长度差异大时,让容器宽度平滑变化。

Layer 03 · 滚动与空间 · 21–28

滚轮可以按下播放,
也可以拖动进度条

下面这几段请用滚轮走完。手机上视差和横向叙事会自动减弱。

21 · Parallax scrolling

视差滚动

背景移动得慢,文字正常滚动。人的眼睛把速度差理解成距离差。

LAYER DEPTH 03

22 · Multi-layer parallax

多层视差

像橱窗里前后摆放的透明玻璃。层数越多,每层的移动幅度越要小。

23 · Horizontal scroll

纵向滚轮,横向叙事

作品、时间轴、连续章节。手机端通常改回纵向列表。

器物
窗光
织物
石与环
衣物

24 · Scroll zoom

器物由远及近

继续滚动,画面靠近。滚回上方时按原路径缩小。

25 · Sticky scrollytelling

固定式滚动叙事

一个区域留在视口里。你继续滚,只替换其中的图片或说明。

左侧换章节

步骤依次高亮。固定时间太长会让人以为页面卡住,所以变化必须清楚。

右侧同步切换

适合产品拆解、教程步骤、数据故事。两端要能对上号。

26 · Image sequence

图片序列滚动

滚轮控制前进和后退。加载失败时准备一张静态主图。

27

滚动吸附

Scroll snap

第一章

停在完整章节上

第二章

不会停在两段中间

第三章

正文很长时不要整页强制吸附

在这个小窗口里滚动。适合全屏故事和短章节,不适合长文阅读。

28

滚动进度提示

Progress indicator

顶部细线也在跟着你。它要比正文安静。

提供位置反馈,不能抢走阅读注意力。

Layer 03 · 鼠标与指针 · 29–36

读取光标的位置、方向或距离

这一组很适合桌面端作品集。手机没有持续悬停,也没有一直存在的鼠标坐标——触屏会改成静态或点击。

29 · Magnetic button

33 · Mouse-following eyes

36 · 3D object follow

31 自定义光标在跟随你。32 聚光灯只照这一区,不追着正文。34 拖尾留在路径上。35 背景渐变中心慢于指针。每个按钮都磁吸会让界面不稳定——一页保留一两个重点即可。

石与铜环
30 · Tilt card · 根据光标轻微旋转

Layer 03 · 组件、反馈、转场 · 37–51

产品页里,状态怎样过渡

弹窗突然蹦出来,菜单展开像页面坏了一下——「点击」是触发,「从触发按钮附近放大」才是动效类型。

37

折叠展开

Accordion
什么动作让动画开始。Hover、Scroll、Click 都属于这一层。
画面具体怎么动。淡入、视差、磁吸是类型,不是触发。

内容沿垂直方向打开,下面的内容平稳让位。收起后要保留清楚的标题。

38

锚定浮层

Dropdown / Tooltip / Popover

浮层要从触发点附近出现,关闭时也回到同一位置。

40

抽屉与底部面板

Drawer / Bottom sheet

抽屉从页面边缘滑出,底部面板从屏幕下方升起。适合比弹窗更多的内容,同时保留对原页面的方位感。

41

标签页切换

Tab transition
按月。指示器先移动,内容再切换。

选中指示器先到新标签,下面的内容再切换,操作与结果连成一次动作。

43

轻提示

Toast / Snackbar
已保存

不中断任务。关键错误不能只闪一下就消失。

44

数字计数

Animated counter
0 个词

数字必须停在准确结果上,动画不能让用户误读数值。

45

骨架屏

Skeleton loading

等待很短时直接显示内容,没必要让骨架闪一下。

46

加载指示

Loading indicator

不知道何时完成时用循环;能计算进度时,就不要一直让人盯着圆圈。

47

成功与错误

Success / Error

空提交会抖动。成功有对勾和文案。颜色只能辅助表达。

48

图标形变

Icon morphing

汉堡变成关闭叉号。按钮的位置和点击范围要保持稳定。

49

布局过渡

Layout animation
Fade
Parallax
Magnetic
Stagger
Pin
Tilt

筛选后卡片从旧位置平滑移动到新位置,周围内容一起让位。

50

共享元素转场

Shared element

点击后图片放大到同一张图的位置,用户能看到自己点的东西去了哪里。

51

页面转场

Page transition
目录
详情

新页面从右侧进入表示继续前进,返回时沿相反方向退出。

Layer 04 · UX 规则 · 52–56

第四层不再增加花样,
只约束前面所有动效

用户能不能看懂、能不能继续操作、在手机和键盘上能不能完成同一件事。

52 · FEEDBACK

反馈

操作前看得出哪里能点;操作时有按下或加载;操作后显示成功或失败;失败后知道怎样修正。

53 · AFFORDANCE

操作暗示

按钮有边界和文字,链接有下划线或箭头,可展开项带加号。一个看起来像普通文字的按钮,即使用户悬停后很炫,也可能根本不会把鼠标移过去。

54 · FOCUS

焦点与注意力

弹窗打开后背景变暗,键盘光标进入弹窗。关闭后焦点回到原按钮。动画结束后,用户知道下一步看哪里。

55 · REDUCED MOTION

减少动态

右上角的开关会读取并覆盖系统偏好。大幅视差、拖尾、持续跟随会关掉;短促淡化、颜色变化、进度和成功提示会留下。

56 · INPUT MODALITY

鼠标、触屏与键盘

关键功能不能只交给悬停。桌面端悬停展开,手机端点击展开;拖拽排序同时提供按钮;光标跟随在触屏改为静态;左右滑动同时保留上一项和下一项。

把四层写进一句提示词

对象、触发、类型
和结束状态

先把这四项说清,再让 AI 采用项目里已有的工具。这是三篇文章收束的那一句。

对象

触发方式

动效类型

UX