以 skill 自身的术语
gsap-core 是 GSAP 核心引擎的入门 skill:涵盖单一 tween,如 gsap.to()、gsap.from()、gsap.fromTo() 和 gsap.set(),以及常用参数——duration(默认 0.5)、delay、ease(默认 power1.out)、stagger、overwrite 和 immediateRender。它记录了 GSAP 的 transform 别名(x、y、scale、rotation、xPercent)、用于淡入淡出的 autoAlpha、clearProps、基于函数与相对值的写法,以及项目级的 gsap.defaults()。
其中一个较大的章节介绍了用于响应式断点的 gsap.matchMedia() 以及 prefers-reduced-motion,最后以官方最佳实践清单和一个「禁止事项」章节收尾。它是为在 React、Vue、Svelte 或原生 JS 中编写或审查 GSAP 动画的设计师与开发者所写。
它产出什么
- 通过 CSSPlugin 驱动 DOM 元素动画,该插件已内置于核心引擎中,无需额外插件。
- 每个 tween 方法都会返回一个 Tween 实例,需要暂停、播放、反向、终止或拖动播放头时,应保存这个实例。
- 变换以别名形式书写,并按固定顺序应用:translation、scale、rotationX/Y、skew、rotation。
- 在 matchMedia 处理函数内创建的动画和 ScrollTrigger,会在查询条件不再匹配时自动还原。
工作方式
- 01选择 Tween 方法
gsap.to() 从当前状态过渡到你传入的 vars,是最常用的调用方式;from() 反转这一过程,用于入场动画;fromTo() 明确指定两端状态,不读取当前值;set() 则以 0 时长即时应用。
- 02以 camelCase 书写 Vars
vars 对象内的属性名必须是 camelCase,因此像 background-color 或 font-size 这样的 CSS 属性要写成 backgroundColor 和 fontSize。
- 03用 Stagger 设置偏移
stagger 传入一个普通数字时,表示各目标之间相隔的秒数;对象形式则可添加 amount 配合 from 方向,或使用 each 配合 from: "random"。
- 04选择一种 Ease
字符串形式的 ease 能覆盖大多数场景——power1.out 是默认的手感,文档中列出的其他选项包括 back.out(1.7)、elastic.out(1, 0.3)、power3.inOut 和 none。
- 05为每个目标计算数值
作为 vars 值传入的函数,会在首次渲染时对每个目标调用一次,因此像 x: (i) => i * 50 这样基于索引的数值可以分布到整组目标上。
- 06将工作限定在媒体查询范围内
gsap.matchMedia() 只在查询匹配时运行其设置处理函数,这也是该 skill 处理响应式断点和减少动效用户的方式。