调整 animation-duration 值可延长动画时间,单位为 s 或 ms,数值越大越慢越长;需检查优先级、动画名拼写及是否正确应用;配合 timing-function 和 animation-delay 可优化节奏与感知时长。

动画持续时间太短,核心就是调整 animation-duration 的值,单位用秒(s)或毫秒(ms),数值越大,动画越慢、越长。
直接修改 animation-duration 值
这是最常用也最直接的方法。默认值通常是 0s,所以不写或写得太小(比如 0.1s)就会显得“一闪而过”。
- 把
0.2s改成0.6s,动画会明显更舒缓; - 做入场动效时,
0.8s ~ 1.2s比较自然; - 如果想强调变化过程,甚至可用
1.5s,但需注意别让用户等太久。
检查是否被其他样式覆盖
有时候改了 duration 却没效果,很可能是 CSS 优先级问题,比如:
- 内联样式或更高权重的选择器重写了你的动画规则;
- 用了
@keyframes但没在元素上正确应用animation属性; - 动画名拼错,导致整个 animation 生效失败,duration 自然无效。
配合 timing-function 控制节奏感
光拉长时间不一定更好,还需搭配缓动函数让运动更真实:
立即学习“前端免费学习笔记(深入)”;
-
ease-in-out:开头结尾都慢,适合大多数过渡; -
cubic-bezier(0.34, 1.56, 0.64, 1):轻微弹跳感,增加活力; - 避免全程用
linear,容易显得机械呆板。
用 animation-delay 配合延长感知时长
如果不能无限制加长 duration(比如影响交互响应),可以加一点延迟,让动画“等一等再开始”,用户感知的整体节奏就变长了:
-
animation: slideIn 0.6s ease-in-out 0.2s;—— 等 0.2 秒再动,总等待+播放时间更饱满; - 适合按钮悬停反馈、模态框出现等需要呼吸感的场景。
不复杂但容易忽略。关键不是堆时间,而是让时长匹配动效目的和用户预期。










