SuperAPI AI 工具集

gsap-astro

设计与创作

查看项目

更新于 10-15 23:34

技能介绍

用途:为 Astro 项目构建或审查动画,重点处理 GSAP 与 Astro ClientRouter 的配合,覆盖页面过渡、交换钩子、持久化岛屿、重复初始化与清理。

主要能力:围绕 mount → 初始状态 → intro → settled → outro → 结束状态 → unmount 的动画生命周期,决定动画何时运行;区分使用与不使用 <ClientRouter /> 的场景,后者应改用 gsap-vanilla 处理整页加载。涉及快照变形、淡入淡出、滑动时可用 transition:name / transition:animate;需要实时 DOM 出场、可中断序列、拆分文本或滚动联动时用 GSAP。

使用方式:先阅读仓库说明、现有动画、布局、导航、CSS、无障碍约定与检查项;确认已安装的 Astro 版本,并查看 node_modules/astro/dist/transitions/router.js、swap-functions.js 与 node_modules/astro/components/ClientRouter.astro,不要凭记忆判断。版本门槛包括 <ClientRouter />(5.0,4.x 为 <ViewTransitions />,6.0 移除)、带 loader 与 newDocument 的生命周期事件(3.6)、表单导航(4.0)、transition:persist-props 与 data-astro-rerun(4.5)、swapFunctions(4.15)。确认 <ClientRouter /> 位置与 fallback、岛屿框架集成与 client:* 指令、astro.config 中的 prefetch 与 experimental.clientPrerender。GSAP 需在目标 DOM 存在后运行,用 gsap.context 限定选择器范围,并在移除所属元素的交换前清理 tween、trigger、split 与监听器。

适用场景:Astro 站点的页面过渡、幕布、首次访问预加载、共享元素变形、平滑滚动(Lenis、ScrollSmoother)等。

限制:需保留原生链接行为、路由历史、滚动恢复与路由播报;不要在 astro:before-swap 中做动画;reduced motion 下仍应到达相同 settled 状态;实际验证建议在真实浏览器中进行,包括二次访问、后退、前进与出场期间点击。资料未提供安装命令与具体代码示例。