滚动驱动动画创作台 - 基于Scroll Timeline的可视化
配置滚动容器与目标元素,自定义随滚动触发的关键帧动画,输出纯CSS代码。
UD5工具箱
当此元素进入滚动容器的视口时,自动触发淡入动画。无需任何JavaScript!
animation-timeline: scroll() 和 animation-timeline: view() 来实现。
@supports (animation-timeline: scroll()) 进行特性检测,为不支持的浏览器提供降级方案(如静态展示或JavaScript polyfill)。预计2025-2026年将成为主流跨浏览器特性。
animation-range 用于定义动画在时间线的哪个区间播放。animation-range: 0% 50% 表示动画在滚动的前50%完成,之后保持结束状态。entry — 元素正在进入视口exit — 元素正在离开视口cover — 元素完全覆盖视口contain — 元素被视口完全包含animation-range: entry 0% entry 100% 表示动画在元素进入视口的整个过程中完成。
scroll 事件 + requestAnimationFrame,这些都运行在主线程,容易造成性能瓶颈。CSS方案无需任何JS代码,浏览器可以独立优化,甚至在某些情况下实现零帧丢失。@supports (animation-timeline: scroll()) { /* 滚动驱动动画 */ }@supports not (animation-timeline: scroll()) { /* 降级样式 */ }.scroll-container { scroll-timeline-name: --my-timeline; scroll-timeline-axis: block; /* 垂直滚动 */}.animated { animation: grow linear; animation-timeline: --my-timeline;}配置滚动容器与目标元素,自定义随滚动触发的关键帧动画,输出纯CSS代码。
配置基于滚动位置触发的CSS @scroll-timeline动画,复制适配代码。
创建并运行动画工作线程,展示不受主线程影响的平滑动画效果。
可视化Flexbox容器和子项的所有属性及选项,鼠标悬停预览效果。
一款漂亮的拟物指针时钟,同时显示数字时间和日历,适合常驻副屏或全屏。
提供历史数据,手动设定自回归/差分/移动平均阶数,查看拟合与未来几步预测,学习时序分析。
并列播放所有CSS内置缓动函数(ease, linear等)的动画效果,方便对比选择。
载入简单控制网格,执行 Catmull-Clark 细分一次,观察光滑效果。
设定物理页框数,输入页引用串,动画展示不同页面置换算法的缺页率。
分别使用主线程Canvas和OffscreenCanvas在Worker中渲染动画,对比FPS和流畅度。
加载Lottie动画JSON文件,播放并控制速度、方向,预览动效效果。
演示如何拦截PWA安装事件并自定义安装按钮,查看浏览器原生安装提示效果。
输入 HTML 或网址,提取所有标题标签,生成文档大纲树,检测跳跃和缺失。
动画展示 Kruskal 算法选择边和合并集合的过程,高亮生成树边。
添加任务步骤并分配时间,构建理想的早晚程序清单,播放模式自动计时切换。
编写正则表达式,在文本中用不同颜色高亮整个匹配和每个捕获组。
添加多个议题并设定负责人与时长,自动生成结构化议程表,支持定时提醒下一议题。
上传精灵图,自动切片检测或手动框选获取背景定位数值,生成CSS Sprite代码。
可视化选择操作(访问、点击、断言等),自动生成 Cypress 测试代码。
在绘图板画几条直线,算法自动利用霍夫变换检测并高亮出这些线段。
自定义箭头方向、颜色、大小和动画,生成无需JavaScript的纯CSS tooltip组件代码。
构建 Promise 链并显示每个 then/catch 的执行时间与状态,帮助理解微任务调度。
在可缩放网格上选区颜色绘制像素图,支持多帧预览简单动画。
展示几组在各类色盲下仍可区分的定性数据配色方案,含Hex码。
在主线程和 Worker 之间使用 SharedArrayBuffer 和 Atomics 进行同步通信。
在开发环境中模拟 periodicSync 事件,触发后查看 SW 中的处理逻辑和网络请求。
选择触发位置、箭头方向与样式,生成轻量悬停提示框代码。
监测页面加载过程中的布局偏移,定时截图并合成 GIF,直观展示视觉稳定性问题。
模拟经典玩具,按方向键或虚拟旋钮绘制线条,按空格键晃动清除。
在预设向量场中点击放置种子,绘制通过该点的流线,表现场的方式。