要实现css动画无限循环,需设置animation-iteration-count为infinite,并配合@keyframes定义动画过程,如:.box{animation:move 2s infinite;} @keyframes move{0%{transform:translateX(0);}100%{transform:translateX(200px);}}。

要让 CSS 动画实现无限循环,关键是使用 animation-iteration-count 属性并将其设置为 infinite。结合 @keyframes 定义动画过程,就能轻松创建持续不断运行的动画效果。
1. 使用 animation-iteration-count: infinite
这是实现无限循环的核心。默认情况下,CSS 动画只播放一次。通过设置 animation-iteration-count: infinite;,可以让动画不停地重复播放。
示例:
.box {
width: 100px;
height: 100px;
background: blue;
animation-name: move;
animation-duration: 2s;
animation-iteration-count: infinite;
}
2. 定义 @keyframes 动画关键帧
必须配合 @keyframes 来定义动画的具体行为,比如位置、颜色、大小等的变化过程。
示例:
@keyframes move {
0% { transform: translateX(0); }
100% { transform: translateX(200px); }
}
这个动画会让元素从原位向右移动 200px,结束后立即重新开始,形成无限循环。
立即学习“前端免费学习笔记(深入)”;
3. 简写语法更方便
你可以用 animation 简写属性一次性设置多个参数,包括持续时间、循环次数等。
示例:
.box {
width: 100px;
height: 100px;
background: red;
animation: move 2s infinite;
}
这段代码和上面功能完全一样,但更简洁清晰。
4. 可选:控制动画节奏与方向
你还可以添加其他属性来优化循环体验:
- animation-timing-function:调整动画缓动效果,如 ease-in-out
- animation-direction: alternate:让动画来回播放(前进再后退)
来回漂浮效果示例:
@keyframes Float {
0% { transform: translateY(0); }
100% { transform: translateY(-20px); }
}
.bubble {
animation: float 1.5s ease-in-out infinite alternate;
}
基本上就这些。只要记住把 animation-iteration-count 设为 infinite,再配合适当的 keyframes,就能实现各种流畅的无限动画。不复杂但容易忽略细节,比如忘记写 keyframes 或拼错名字,会导致动画不生效。检查名称一致性和浏览器支持即可。基本上就这些。


