使用animation-delay属性可实现CSS动画顺序播放,通过为不同元素设置递增延迟时间,如li:nth-child(n)分别延迟0s、0.2s、0.4s等,结合slideIn动画使列表项依次滑入,形成流畅的序列效果。

要让 CSS 动画实现顺序播放效果,关键是使用 animation-delay 属性为不同元素设置不同的延迟时间,从而形成依次执行的动画序列。
理解 animation-delay 的作用
animation-delay 定义动画开始前等待的时间,单位可以是秒(s)或毫秒(ms)。即使多个元素使用相同的动画名称和持续时间,通过设置不同的延迟值,就能控制它们在不同时间点启动。
例如:
.animation-1 { animation-delay: 0s; }
.animation-2 { animation-delay: 0.5s; }
.animation-3 { animation-delay: 1s; }
这样三个元素会每隔 0.5 秒依次开始动画。
立即学习“前端免费学习笔记(深入)”;
实际应用:列表项依次飞入
假设有一组列表项,希望它们从右侧依次滑入视野:
稿定抠图
AI自动消除图片背景
76 查看详情
给每个
示例代码:
@keyframes slideIn {
from { transform: translateX(100%); opacity: 0; }
to { transform: translateX(0); opacity: 1; }
}
li {
animation: slideIn 0.6s ease-out forwards;
}
li:nth-child(1) { animation-delay: 0s; }
li:nth-child(2) { animation-delay: 0.2s; }
li:nth-child(3) { animation-delay: 0.4s; }
li:nth-child(4) { animation-delay: 0.6s; }
简化写法:使用 calc() 函数(可选)
现代浏览器支持用 calc() 结合计数器动态计算延迟,减少重复代码:
li {
–delay: calc(0.2s * (var(–index) – 1));
animation: slideIn 0.6s ease-out forwards;
animation-delay: var(–delay);
}
虽然 CSS 原生不支持自动变量递增,但配合 JavaScript 设置自定义属性 index 可实现更灵活控制。对于静态内容,手动写延迟更稳妥可靠。
基本上就这些。合理安排 delay 时间间隔,就能做出流畅的顺序动画效果,常见于欢迎页、引导提示或菜单展开等场景。
以上就是css animation-delay如何实现顺序播放效果的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1024863.html
微信扫一扫
支付宝扫一扫