LAYER 01
分层位移:只让背景动,正文不动
背景网格用 background-position 平移,视觉母题走 mesh 柔光渐变;正文层保持静止,避免阅读时焦点漂移。位移幅度控制在视口高度的 6%–12%。
- 视差滚动
- 科技感设计
- 视觉冲击
Parallax Digital Wave / AI Platform
三层视差背景以 0.25× / 0.55× / 1× 三档速率位移,滚动即揭示:模型接入、推理编排、评测闭环如何在同一条浪线上衔接。用科技感设计与动态效果,替代堆满术语的静态说明书。
把视差当装饰,用户滚动两次就腻;把视差当信息层级,它才真正服务于 AI 开发工具的交互体验。
LAYER 01
背景网格用 background-position 平移,视觉母题走 mesh 柔光渐变;正文层保持静止,避免阅读时焦点漂移。位移幅度控制在视口高度的 6%–12%。
LAYER 02
用 IntersectionObserver 触发 is-in,位移 22px、时长 0.6s、缓动 ease-out,错峰延迟按 60ms 递增。宁可慢一点,也不要弹跳抢戏。
LAYER 03
640px 以下只保留静态渐变与圆点刻度装饰边,prefers-reduced-motion 全量降级。视差是加分项,不是可用性的赌注。
背景 / 中景 / 前景按 0.25×、0.55×、1× 分层;任意两层速率差低于 0.15 就会「糊」成一片。位移只用 transform 与 background-position,禁止动 top/margin,避免触发重排。
多色柔光叠加超过 2 层,中低端机滚动帧率会跌破 45fps。建议 1 层径向 mesh + 1 层噪点,模糊半径 ≤ 2px,用 will-change 只标注将要位移的层。
IntersectionObserver 的 threshold 取 0.18、rootMargin 留 −40px 底部余量,触发后立即 unobserve;延迟按 60ms 递增,最多 3 档,防止长列表滚动时动画排队卡顿。
Hero 用 16/11、场景图 16/10、图集 4/3,全部 object-fit:cover 并写 loading="lazy"。这样视差层位移时不会因图片回填造成 CLS 抖动,实测可把 CLS 压到 0.02 以内。
正文与底色对比度 ≥ 4.5:1,大标题 ≥ 3:1;柔光只叠加在装饰层,正文卡片底保持不透明。所有交互元素补 :focus-visible 描边,点按区不小于 44×44px。
以 prefers-reduced-motion: reduce 为主开关,叠加小屏(≤640px)与 prefers-contrast: more 两条分支,任一命中即停掉网格漂移与呼吸光晕,保留圆点刻度装饰边的静态版本。
同样做数字浪潮,纯 CSS、JS 增强、WebGL 三条路线的成本与上限完全不同。下表按真实接入经验给出取舍建议。
| 路线 | 典型帧率 | 首屏成本 | 适用场景 | 备注 |
|---|---|---|---|---|
| 纯 CSS 分层 | 58–60fps | +12KB 体积,约 0.2s | 官网首页、产品叙事长页 | 首选 合成为主,弱机也稳 |
| JS 滚动增强 | 52–58fps | +35KB 体积,约 0.4s | 需要随滚动切换数据面板的状态 | 必须节流至 rAF,避免逐帧读写 DOM |
| WebGL 着色层 | 48–60fps | +180KB 体积,约 0.9s | 品牌级视觉冲击、展会大屏 | 需准备静态兜底图,低端机直接降级 |
| 静态渐变版 | 满帧 | +4KB 体积,约 0.05s | 小屏、低电量、减少动效偏好 | 必备兜底 保留圆点刻度装饰边 |
Telemetry
视差体验上线后,我们跟踪了 14 天的真实数据。下面这组数字,比任何「科技感十足」的形容词都更有说服力。
Scenario A
过去接入一个模型要翻 5 页文档。现在用视差把「鉴权 → 选择模型 → 配置推理参数 → 灰度发布 → 观测回传」压成一条纵向浪线,每滚过一个节点就点亮一个刻度,用户始终知道自己在第几步。
Scenario B
评测结果不再堆在表格里。把准确率、延迟、成本三条曲线放进同一张图,滚动到面板时以 0.55× 速率轻微上浮,形成「数据从浪里浮起」的观感,同时保证坐标轴与图例始终静止可读。
transform 与 background-position,浏览器会交给合成线程,实测中端安卓机滚动帧率仍在 58fps 以上。反过来,一旦动 top、height 或频繁读 offsetTop,主线程就会被拖住。判断方法很简单:打开性能面板,看滚动期间有没有紫色 Layout 条。
prefers-reduced-motion: reduce 全量降级并肉眼复核;再检查正文与底色的对比度是否 ≥ 4.5:1;最后用键盘 Tab 走一遍全站,确认每个可交互元素都有 :focus-visible 描边,且点按区不小于 44×44px。三项全过,动效才算合格。