transition-timing-function用于控制CSS过渡的速度曲线,不改变时长但影响快慢节奏。常用关键词包括ease(默认,先慢后快再慢)、linear(匀速)、ease-in(加速)、ease-out(减速)、ease-in-out(两端慢中间快)。还可使用cubic-bezier(x1, y1, x2, y2)自定义贝塞尔曲线实现弹性效果,如cubic-bezier(0.175, 0.885, 0.32, 1.275)用于按钮缩放。此外,steps(n)可实现分步动画,如steps(8)用于精灵图帧播放,step-start和step-end分别表示立即跳转或最后一步跳转。通过合理选择缓动函数可提升交互自然度与视觉个性。

在CSS中,transition-timing-function 用来控制过渡动画的“速度曲线”,也就是元素从起始状态到结束状态的变化节奏。它不会改变过渡的时长,而是决定这个过程中快慢的分布,比如是匀速、先快后慢,还是有弹跳感。
可以直接使用CSS提供的关键词来快速设置常见效果:
示例:
.box {
transition: all 0.5s ease-in-out;
}
如果预设不够用,可以用 cubic-bezier(x1, y1, x2, y2) 创建自定义的过渡曲线。这四个参数代表两个控制点的坐标(x和y都在0到1之间)。
立即学习“前端免费学习笔记(深入)”;
例子:让按钮点击时有弹性缩放效果
.btn {
transition: transform 0.4s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}
.btn:hover {
transform: scale(1.1);
}
如果你想让过渡“一格一格”地跳转,而不是平滑进行,可以使用 steps(n) 或 step-start / step-end。
适用场景:模拟老式动画、灯号切换、sprite图帧播放等。
.light {
transition: background-position 1s steps(8);
}
以上就是如何用css transition-timing-function调整过渡曲线的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号