animation-iteration-count属性用于控制CSS动画播放次数,取值为数字或infinite;例如设置3次播放、无限循环或0.5次实现半次动画,常与animation-direction等属性配合使用,提升动画表现力和用户体验。

CSS动画的播放次数可以通过 animation-iteration-count 属性进行控制。这个属性决定了动画在指定时间内重复执行的次数,是实现精确动画行为的关键之一。
animation-iteration-count 基本语法
该属性定义动画应该运行多少次。基本语法如下:
animation-iteration-count: number | infinite;- number:指定动画播放的具体次数,比如 1、2、3 等,支持小数(如 2.5 表示播放两次半)
- infinite:表示动画无限循环播放
例如,让一个元素的动画播放3次:
.box {animation-name: slide;
animation-duration: 1s;
animation-iteration-count: 3;
}
常用取值与实际应用
根据不同的交互需求,可以灵活设置播放次数:
立即学习“前端免费学习笔记(深入)”;
- 提示类动画(如按钮点击反馈)通常设为 1,只播放一次
- 加载动画常使用 infinite 实现持续旋转或跳动效果
- 过渡性动画可用小数值,如 0.5 实现“播放一半”就停止的效果
结合 keyframes 使用示例:
@keyframes blink {0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
.text {
animation: blink 0.8s ease-in-out 2; / 播放2次 /
}
与其他动画属性的配合
animation-iteration-count 通常与以下属性一起使用,以获得更精细的控制:
- animation-direction:配合 alternate 可实现来回播放,尤其在多次循环时更自然
- animation-fill-mode:决定动画结束后是否保持最终状态,避免动画重置造成闪烁
- animation-delay:可设置延迟后再开始播放,不影响播放次数
例如实现一个来回滑动3次的动画:
.slider {animation: slide 0.6s ease-in-out 3 alternate forwards;
}
基本上就这些。合理使用 animation-iteration-count 能有效提升用户体验,避免不必要的重复或中断。掌握它,就能让CSS动画更贴合实际场景需求。










