学习笔记 · Friends 创作复盘

GSAP 试跑:五套信息结构与生命周期

HTMLCSSJavaScriptSVGGSAP

这轮 Friends 创作采用原生 HTML、CSS、JavaScript,围绕五个不同主题分别设计网站和独立登录页。GSAP 官方模块提供基础动画、时间轴、滚动绑定和性能方法;没有为了动画迁移到 React、Vue 或 Svelte。

SONORA:对象如何被读懂

音响界面以奶油留白和钴蓝产品轮廓建立焦点。长页先给出完整对象,再让组件分离、停驻、重组,随后转入聆听空间与阅读内容。ScrollTrigger 只固定有限的舞台区间,正文和导航保持原生滚动。时间轴用标签描述阶段,反向滚动回到对应装配状态;登录页将同一对象放到分层微缩房间,使用受限指针视差。

VELUM:叠放要服务阅读顺序

文学阅读页用衬线目录、摘录和笔记组织页面。章节逐层叠放强调先后关系,避免所有板块都做相同淡入。窄屏、短视口和减少动态效果恢复普通文档流,保证长文和焦点能读到。登录采用阅读角色的视线响应,在密码输入聚焦时回避输入区域。

TIDEGLASS:角色环绕一个真实的叙事中心

潮池主题使用原创海洋剖面和物种卡片,围绕明确中心有限旋转,将潮汐变化与观察顺序连接起来。轨道与角色朝向分开控制,避免把自转冒充环绕。物种筛选是可完成的本地操作;静态场景不依赖 WebGL 或图片生成服务。

SEEDWELL:景深来自层次

植物照护页的前、中、后景使用不同位移幅度。指针事件只更新 quickTo 的目标值,不逐事件生成动画。条件选择更新当前照护建议,长页继续围绕同一植物语汇安排标本、环境、行动与说明。触屏和减少动态效果直接展示完整窗台,保留自然滑动。

SWITCHBOARD:空间重组与真实文件输出

空间编排页使用大网格平面、橙色动线和清楚的配置说明。有限固定舞台把层次与部件重新排布;展览、论坛、市集等本地选择切换平面及说明,下载相应真实 SVG。动画只解释布局,不能被当成建筑规范、消防验收或场地服务已经接通的证明。

生命周期与失败恢复

页面增强统一由自己的 matchMedia 与监听负责。媒体查询不再匹配时 GSAP 自动 revert;页面离开时撤销自身动画和监听,bfcache 返回后恢复本页增强。后台暂停本页仍在活动的有限动画,不重复播放已完成的入场;不使用全局 killAll 破坏其他组件。

静态 HTML 先包含全部关键内容,动画脚本只做增强。图标以独立 SVG 交付,Morphicons 沿用固定版本并显式尊重系统减少动态效果,用于原生 details 的真实展开状态。原生 disclosure 和静态端点在模块失败时仍成立。

登录没有真实认证服务,字段格式合格后如实报告暂不可用并清空密码;无脚本或认证处理脚本失败时字段禁用,不发送或保存凭据。这些验证只能证明前端行为,不能证明认证接通。

依赖、素材和证据边界

GSAP 3.15.0 从官方 npm 包获取,核对 SHA-512 后只保留 core、ScrollTrigger、版权头和许可说明;运行时同源加载,沿用站点 CSP。原创页面图形和二十枚 UI 图标独立绘制,品牌标识与导出变体另计。使用系统字体,不复制个人技能正文或私人资料。

桌面、平板、手机、真实状态、反向滚动、脚本失败和减少动态效果的实际结果见本轮项目 QA。没有性能采样就不宣称 60fps、Lighthouse 分数或低端设备表现。每套页面需要分别通过验证,使用库本身不是品质证据。

参考:GSAP matchMedia/)、ScrollTrigger、GSAP 标准许可。