GIF播放速度调节器 - 逐帧减慢或加快
上传GIF,通过滑块改变帧间延迟实时预览变速效果,并下载修改后的动图。
UD5工具箱
CSS 缓动函数用于控制动画或过渡过程中属性值的变化速率。它定义了动画在不同时间点的进度,让动画看起来更自然。例如 ease 会让动画慢启动、快中间、慢结束,模拟现实世界的物理运动。常见的缓动函数包括 linear、ease、ease-in、ease-out、ease-in-out 以及自定义的 cubic-bezier()。
cubic-bezier(x1, y1, x2, y2) 通过4个参数定义一条三次贝塞尔曲线。起点固定为 (0,0),终点固定为 (1,1)。x₁ 和 x₂ 必须在 [0,1] 范围内,控制时间轴上的拐点位置;y₁ 和 y₂ 可以超出 [0,1],从而产生弹跳或过冲效果。例如 cubic-bezier(0.68, -0.55, 0.27, 1.55) 会产生一个弹跳效果,因为 y₁ 为负值,y₂ 大于1。
ease(默认):慢启动、快中间、慢结束,适用于大多数场景。cubic-bezier(0.25, 0.1, 0.25, 1)
ease-in:慢启动、快结束,适合元素离开屏幕的动画。cubic-bezier(0.42, 0, 1, 1)
ease-out:快启动、慢结束,适合元素进入屏幕的动画。cubic-bezier(0, 0, 0.58, 1)
ease-in-out:慢启动、慢结束,中间快,适合循环动画。cubic-bezier(0.42, 0, 0.58, 1)
通过让 cubic-bezier 的 y₁ 或 y₂ 超出 [0,1] 范围即可。例如 cubic-bezier(0.68, -0.55, 0.27, 1.55) 产生弹跳效果——y₁ 为负使曲线低于0(反向运动),y₂ 大于1使曲线超出终点(过冲后回弹)。弹性效果可使用 cubic-bezier(0.25, 0.46, 0.45, 0.94)。虽然 CSS 规范允许 y 值超出 [0,1],但 x₁ 和 x₂ 必须保持在 [0,1] 内。
两者使用相同的缓动函数语法,但作用场景不同:transition-timing-function 用于 CSS 过渡(transition),在属性值变化时生效;animation-timing-function 用于 CSS 关键帧动画(@keyframes),可作用于整个动画或单个关键帧之间。此外,animation 还支持 steps() 函数用于逐帧动画。
从性能角度看,所有 CSS 缓动函数都由浏览器引擎原生实现,性能差异微乎其微。但在动画属性选择上需要注意:优先使用 transform 和 opacity 进行动画,它们只触发合成(composite)阶段,不会引起重排(reflow)或重绘(repaint),性能最优。避免对 width、height、top、left 等属性使用动画。
进入屏幕(如模态框出现):使用 ease-out,快速进入后缓慢停稳。
离开屏幕(如抽屉关闭):使用 ease-in,缓慢启动后快速消失。
持续循环(如加载动画):使用 ease-in-out,两端平滑过渡。
微交互(如按钮悬停):使用 ease(默认),自然且响应迅速。
弹窗/通知:可使用弹性曲线增加趣味性,如 cubic-bezier(0.68, -0.55, 0.27, 1.55)。
上传GIF,通过滑块改变帧间延迟实时预览变速效果,并下载修改后的动图。
在线响应式布局测试器,同时预览常见设备分辨率的网页显示效果,帮助检查前端适配。
选择算法并随机生成数组,以彩色条动画展示排序过程,帮助理解算法。
在单页内模拟MPA过渡效果,自定义进场/出场动画,体验View Transitions API丝滑切换。
配置不同的下划线出现、消失动画(从中间、左侧等),生成链接美化CSS。
本地音频或麦克风输入时,显示随音乐跳动的频谱柱状图,多种配色风格。
生成带有音频波形可视化、可点击跳转的可定制HTML音频播放器代码。
在色带任意位置点击添加色标并拖拽,感受渐变设计。
粘贴代码自动进行语法高亮显示,支持主流编程语言,生成带行号的HTML代码块,方便嵌入博客。
输入文字,选择闪烁、打字、彩虹等动态效果,生成文字动画GIF。
交互式探索Julia集,实时调整复数参数c,支持平滑着色和鼠标缩放,感受分形之美。
加载GIF,逐帧查看,可调节播放速度、前进后退。
使用Web Audio PannerNode,在头顶环绕拖拽一个声源,体验声音在空间的移动。
待办项拖入四象限,并设置每个的提醒时间,自动排序今日。
在散点图上拖拽数据点,实时更新最小二乘回归线,显示斜率和截距。
构建或随机生成二叉树,逐步动画展示前序、中序、后序和层序遍历的路径。
对比 ES Module 和经典脚本的变量作用域、严格模式以及执行时机。
拖拽添加图片与文字,生成响应式轮播图Slider,支持自动播放和导航点,提供HTML/CSS/JS代码。
拖动一个汽车,实时绘制它运动的x-t、v-t和a-t波形图,学习运动学。
上传 GIF 动画,提取每一帧并拼接为单张精灵表图片,可设置排列方式,用于游戏开发。
通过拖拽贝塞尔曲线调整图片的亮度和颜色映射,实现高级调色效果。
输入代码并自动去除无意义空格,统计有效字符数,用于Code Golf比赛。
用WebGL或Three.js(轻量版)展示一条旋转的莫比乌斯带,可用鼠标拖拽视角。
上传序列帧图片,合成spritesheet并生成对应CSS steps()帧动画代码。
选择一个基色,自动计算色环上左右各30度的类似色,适合温和配色。
注册一个Service Worker拦截请求并人为添加延迟,模拟慢速2G/3G网络效果。
从上传的图片中智能提取主要渐变色方向与色标,生成对应CSS渐变代码,用于设计背景。
将照片处理为类似卡通或漫画风格,结合双边滤波和边缘强化的模拟。
在时间轴上拖拽添加属性关键帧,实时预览动画并生成 @keyframes 代码。
向任意输入URL发送请求,清晰显示响应状态码、头信息和体,类似轻量级Postman。