GSAP 动画实战系列——从入门到 AI 可视化

GSAP 动画实战系列 系列总览(本文) | G1 Tween & Timeline 核心 | G2 ScrollTrigger 滚动动画 | G3 文本动画 | G4 SVG 动画 | G5 GSAP + React | G6 AI 项目实战 | G7 社区案例精选


# GSAP 动画实战系列 ## G1:Tween & Timeline 核心 - gsap.to / from / fromTo - Timeline 编排 - Eases 缓动函数 - Staggers 交错动画 ## G2:ScrollTrigger 滚动 - 触发与滚动绑定 - Pinning 图钉 - Scrub 擦洗 - 水平滚动 ## G3:文本动画 - SplitText 拆分 - ScrambleText 乱码 - TextPlugin 替换 - 逐字显现 ## G4:SVG 动画 - DrawSVG 描边 - MorphSVG 变形 - MotionPath 路径 ## G5:GSAP + React - useGSAP hook - context 清理 - 避免内存泄漏 ## G6:AI 项目实战 - 数据可视化 - LLM 输出动画 - 实时数据流 ## G7:社区案例精选 - GSAPify 实例 - gsap-cookbook - 生产级模式

为什么是 GSAP

GSAP(GreenSock Animation Platform)诞生于 2006 年,但真正的爆发是从 v3(2019 年)开始的。它不是 CSS Animation 的替代品,而是更上一层楼的生产力工具。

能力 CSS Animation GSAP
性能 GPU 加速但难以精细控制 requestAnimationFrame 驱动,可精确到帧
编排 靠 animation-delay 凑 Timeline 原生编排
缓动 预设 cubic-bezier 20+ 内置 easing + 自定义 CustomEase
滚动动画 需要 scroll-driven-animations(兼容性差) ScrollTrigger 插件,生产级
文本 不支持 SplitText / ScrambleText 整行拆分
SVG 有限的 stroke-dasharray DrawSVG / MorphSVG / MotionPath
框架集成 原生 useGSAP() React hook,Vue/Angular 皆可

GSAP 不是"又一个动画库"——它是 Web 动画的工业标准。Adobe、Apple、Google、Nike、Airbnb 都在用它。原因很简单:控制力。你可以精确控制每一帧、每一个属性的变化曲线,还能把多个动画编组成复杂的叙事序列。

本系列讲什么

这是一套面向实际工程的 GSAP 教程。不追求面面俱到的 API 列表(官网 docs 已经做得很好),而是聚焦怎么用、什么时候用、踩过哪些坑

七篇文章,四个维度

  1. 核心 API(G1)——Tween、Timeline、Eases、Staggers。这是其他一切的基础。
  2. 插件实战(G2-G4)——ScrollTrigger、SplitText、DrawSVG、MorphSVG,每个都是独立的技术路线。
  3. 框架集成(G5)——React 里的 GSAP 怎么用,context 怎么管理,内存泄漏怎么防。
  4. 行业应用(G6-G7)——AI 项目中用 GSAP 做动态展示,以及社区里那些值得复用的生产级模式。

资源索引

写这个系列时参考的核心资源:

安装与起步

CDN(最快)

<!-- 核心库 -->
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<!-- ScrollTrigger(最常用插件) -->
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/ScrollTrigger.min.js"></script>

npm

npm install gsap
import gsap from 'gsap'
import { ScrollTrigger } from 'gsap/ScrollTrigger'

// 注册插件(必须)
gsap.registerPlugin(ScrollTrigger)

GSAP 的许可

GSAP 核心库及所有插件(包括 SplitText、DrawSVG、MorphSVG、CustomEase、Physics2D 等)自 2025 年 Webflow 收购 GSAP 后已全部免费,包括商业用途。不再需要 Club 会员、npm token 或私有 registry。直接从 npm 公共 registry 安装即可。

一个直观的对比

🗺️ 完整 GSAP 视觉演示索引 → CodePen 合集

CSS 方式实现一个淡入+上移:

.box {
  opacity: 0;
  transform: translateY(30px);
  animation: fadeUp 0.6s ease-out forwards;
}
@keyframes fadeUp {
  to { opacity: 1; transform: translateY(0); }
}

GSAP 方式:

gsap.from('.box', { opacity: 0, y: 30, duration: 0.6, ease: 'power2.out' })

区别在哪?单看这段差不多。但当你要:

  • 5 个元素依次出现(stagger)→ CSS 需要算 delay,GSAP 一个 stagger: 0.1 搞定
  • 中途暂停/反转/变速 → CSS 几乎做不到,GSAP tl.pause() / tl.reverse() 一行
  • 动画 A 结束后触发动画 B → CSS 靠 setTimeout,GSAP 靠 Timeline

GSAP 的设计哲学是把动画当作可编程的对象,而不是 CSS 的属性声明。这在复杂交互中会变得越来越重要。

系列进度

编号 文章 状态
G1 Tween & Timeline 核心 已发布
G2 ScrollTrigger 滚动动画 已发布
G3 文本动画 已发布
G4 SVG 动画 已发布
G5 GSAP + React 已发布
G6 AI 项目实战 已发布
G7 社区案例精选 已发布

下一篇:G1 Tween & Timeline 核心——GSAP 动画的基石

实操清单

  • 打开 gsap.com/docs/v3 浏览 API 文档结构,了解各模块分布
  • 通过 CDN 方式在本地 HTML 文件引入 GSAP 核心库和 ScrollTrigger 插件
  • 通过 npm install gsap 在项目中安装 GSAP,并完成 import + registerPlugin
  • gsap.from('.box', { opacity: 0, y: 30, duration: 0.6, ease: 'power2.out' }) 实现一个淡入上移效果,与 CSS keyframes 版本对比
  • 尝试对 5 个同类元素加 stagger: 0.1,体验与 CSS animation-delay 写法的差异
  • tl.pause()tl.reverse() 验证 Timeline 的可编程控制能力
  • 浏览 gsapify.com/gsap-examples 挑选 2~3 个动画模式,理解其用到了哪篇文章的知识点
  • 克隆或浏览 gsap-cookbook,按 Scroll、Text、SVG 分类标记自己最感兴趣的章节
  • 对照系列进度表(G1~G7),按顺序规划自己的学习路径