SuperAPI AI 工具集

gsap-flip

设计与创作

查看项目

更新于 10-16 06:47

技能介绍

用途:GSAP Flip 插件用于在 DOM 状态发生变化时创建平滑过渡。它基于 FLIP(First、Last、Invert、Play)思路,适合布局变化、重排序、尺寸过渡和响应式动画,避免元素跳动。

安装与注册:

npm install gsap

import { Flip } from 'gsap/Flip' gsap.registerPlugin(Flip)

基本用法:先用 Flip.getState(targets) 捕获初始状态,再修改 DOM(切换类名、调整 transform、改变顺序等),最后调用 Flip.from(state, options) 从旧位置动画到新位置。

主要能力:

  • 绝对定位:absolute: true 可在动画期间应用 position: absolute,也可传选择器只对特定元素生效;absoluteOnLeave: true 让离开的元素在退场动画期间保持可见。
  • 淡入淡出:fade: true 实现交叉淡入淡出,交换元素需设置匹配的 data-flip-id。
  • 尺寸动画:scale: true 用缩放代替宽高动画,默认则动画 width/height。
  • 重排序:网格重排、随机打乱、拖拽排序,常配合 absolute 与 stagger。
  • 进出场:onEnter、onLeave 回调动画新增或移除的元素。
  • 响应式:配合 gsap.matchMedia() 在断点切换时做过渡。
  • 常见组合:手风琴、标签页切换、模态框开合。
  • ScrollTrigger 集成:可做滚动驱动的布局变化和 pin 加 Flip。

使用要点与限制:必须先捕获状态再修改 DOM;在 flex/grid 布局中通常需要 absolute 以避免跳动;用 fade 时元素要有一致的 data-flip-id;建议批量修改后只跑一次 Flip;尺寸变化优先考虑 scale。资料未提供收费、价格或平台等信息。