animation-duration用于定义CSS动画单次循环的持续时间,取值为秒(s)或毫秒(ms),默认值为0s。若未设置该属性,动画将无法正常播放,因瞬间完成而无视觉变化。时长过短(如100ms以下)会导致动画闪烁,用户难以感知状态变化;时长过长(如2s以上)则易引发不耐烦,误判系统卡顿。合理时长需结合动画类型:微交互建议150ms–300ms,状态变化300ms–500ms,页面过渡500ms–800ms。同时需考虑用户感知与设备性能,避免复杂动画在短时长下掉帧。该属性与animation-delay(延迟启动)、animation-iteration-count(重复次数)协同控制动画节奏:delay决定动画开始前的等待时间,iteration-count指定循环次数,duration则决定每次循环的长度。例如animation-duration: 0.8s; animation-delay: 0.2s; animation-iteration-count: 2; 表示动画共耗时1.8s(0.2s延迟 + 2×0.8s播放),形成有节奏的视觉反馈。

CSS的
animation-duration
animation-duration
0s
它的语法非常直接:
selector {
animation-duration: <time>;
}<time>
s
ms
立即学习“前端免费学习笔记(深入)”;
animation-duration: 2s;
animation-duration: 500ms;
如果你没有显式设置
animation-duration
0s
@keyframes
animation-name
animation-duration
我觉得动画时长这东西,是用户体验里一个挺微妙的环节。设置得不好,真的能瞬间毁掉一个精心设计的交互。
首先,如果动画时长太短,比如
100ms
反过来,如果动画时长过长,比如
2s
3s
再者,不同的动画类型和场景,对时长的要求也不同。一个微小的按钮点击反馈动画,和页面之间的大型过渡动画,它们的合理时长肯定不一样。一刀切地使用相同时长,只会让一部分动画显得突兀,另一部分显得拖沓。这就像是给所有电影都设定一样的播放速度,有些会快得看不清,有些则慢得让人打瞌睡。
选择合适的动画时长,这真的没有一个放之四海而皆准的答案,更多的是一种艺术与科学的结合。我通常会从几个维度去思考:
动画的复杂度和目的:
150ms
300ms
300ms
500ms
500ms
800ms
1s
用户的感知速度与预期:
性能考量:
transform
opacity
width
height
100ms
我的建议是,先从一个经验值开始,比如
300ms
animation-duration
animation-delay
animation-iteration-count
这三个属性是CSS动画时间控制的核心三剑客,它们协同作用,才能构建出复杂而富有节奏感的动画效果。理解它们之间的关系,就像理解乐谱中的音符长度、休止符和重复次数。
animation-duration
animation-delay
想象一下:你给一个元素设置了
animation-duration: 1s;
animation-delay: 0.5s;
0.5s
1s
animation-iteration-count
2
3
infinite
关键点在于,
animation-duration
animation-duration: 1s;
animation-iteration-count: 3;
1s
1s * 3 = 3s
来看一个综合的例子:
.element {
animation-name: slideIn;
animation-duration: 0.8s; /* 单次动画持续0.8秒 */
animation-delay: 0.2s; /* 动画开始前等待0.2秒 */
animation-iteration-count: 2; /* 动画重复播放2次 */
animation-direction: alternate; /* 每次播放方向交替 */
}
@keyframes slideIn {
from { transform: translateX(-100%); }
to { transform: translateX(0); }
}对于
.element
0.2s
animation-delay
0.8s
animation-duration
animation-iteration-count
2
animation-direction
alternate
0.8s
0.8s * 2 = 1.6s
0.2s (delay) + 1.6s (total duration) = 1.8s
这些属性就像是导演手中的时间轴控制器,
duration
delay
iteration-count
以上就是css animation-duration属性控制动画时长的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号