用途:面向代码驱动的网页动效,包括滚动叙事、固定区块、视差、进度擦洗、横向滚动、序列化首屏动画、文字揭示与布局过渡。
主要能力:GSAP 时间线(单一播放头、相对定位、易反转);ScrollTrigger(pin、scrub、start/end、toggleActions、batch);SplitText 按行/词/字符拆分文字;Flip 记录状态后动画布局差异;quickTo 处理高频指针跟随;autoAlpha 替代 opacity。GSAP 3.12+ 起 ScrollTrigger、SplitText、Flip、MotionPath、MorphSVG、Draggable、Observer 等插件全部免费,含商用。
使用方式:import gsap 与所需插件后必须 gsap.registerPlugin(...),否则插件静默失效;打包器在应用入口注册一次。优先用一条时间线而非多个独立补间。滚动擦洗用 ease:"none"。与 Lenis 平滑滚动配合时,需用 gsap.ticker 驱动 lenis.raf(秒转毫秒乘 1000)、在 lenis.on("scroll") 中调用 ScrollTrigger.update,并设 gsap.ticker.lagSmoothing(0);不要另起 requestAnimationFrame 循环。SPA 卸载需清理:gsap.context()/useGSAP 的 ctx.revert(),或 gsap.ticker.remove 加 lenis.destroy()。
适用场景:首屏与多元素时间线、滚动叙事、文字揭示、网格与列表切换、展开卡片、重设父级等。
限制与注意:只动画 transform 与 opacity,避免 top/left/width/height;SplitText 需在字体加载后拆分并调用 revert();视口或内容变化后调用 ScrollTrigger.refresh();需遵循 prefers-reduced-motion;markers 仅开发用。独立 HTML 交付可用 ?t=N 冻结时间线截图验证。具体脚本与参考文件见资料所列 references/ 与 examples/。