animate.css 默认不支持 class 控制 animation-delay,需手动添加 .animatedelay-* 类或使用 CSS 变量 --anim-delay 实现延迟;必须同时包含 animateanimated、效果类和延迟类才能生效。
animate.css 默认不支持直接通过 class 控制 animation-delay,所以像 delay-1s 这样的类不会生效——因为 animate.css 的预设类(如 animate__bounce)只定义了动画名称、持续时间、填充模式等,但没写 animation-delay。想用 class 控制延迟,得自己补充对应规则。
最简单可靠的方式:在项目中额外写几个 delay 工具类,配合 animate.css 使用:
.animate__delay-05s { animation-delay: 0.5s; }
.animate__delay-1s { animation-delay: 1s; }
.animate__delay-2s { animation-delay: 2s; }
.animate__delay-3s { animation-delay: 3s; }
然后 HTML 中组合使用:
2秒后弹跳
✅ 注意:必须同时加 animate__animated(基础触发类),再加效果类(如 animate__bounce)和延迟类(如 animate__delay-2s),顺序不影响,但缺一不可。
animate__animated
animate.css v4+ 要求所有动画元素必须有 animate__anim 类,否则动画完全不触发——即使写了
atedanimate__fadeIn 和 animate__delay-1s 也没用。
class="animate__fadeIn animate__delay-1s" → ❌ 无动画class="animate__animated animate__fadeIn animate__delay-1s" → ✅ 可用如果延迟仍不生效,可能是 CSS 优先级或冲突问题:
animation-delay 是否被覆盖(比如父级设置了 animation: none 或重置了整个 animation 属性)animation-delay: 0s,它会覆盖 class 中的值!important,但自定义 delay 类如果没有加 !important,可能被其他高优先级样式压掉(可酌情添加)如果需要 JS 动态调整延迟时间,可以用 CSS 变量:
.animate__delay-var {
animation-delay: var(--anim-delay, 0s);
}
HTML 中设置:
动态延迟
这样比写一堆固定 delay 类更灵活,适合配合 JS 控制多个元素错峰入场。