css animation-duration动画时长如何设置

animation-duration用于设置动画周期时长,默认为0秒需指定正值才能播放,单位用s或ms表示,可单独设置或在animation简写中定义,多个动画时用逗号分隔对应时长。

在 CSS 中,animation-duration 属性用于设置动画完成一个周期所需的时间。默认值是 0 秒,也就是动画不会播放。要让动画动起来,你需要明确指定时长。

基本语法

animation-duration 的值使用时间单位,通常用秒(s)或毫秒(ms)表示:

animation-duration: 2s; /* 2秒完成一个动画周期 */
animation-duration: 500ms; /* 0.5秒,即500毫秒 */

如何应用到元素

你可以将 animation-duration 和其他动画属性一起使用,比如 animation-name、animation-iteration-count 等。

示例:

@keyframes slide {
  from { transform: translateX(0); }
  to { transform: translateX(100px); }
}

.box {
  animation-name: slide;
  animation-duration: 1.5s; /* 动画持续1.5秒 */
}

也可以简写在 animation 属性中:

.box {
  animation: slide 1.5s ease-in-out infinite;
}

这里的第二个值就是 animation-duration。

常见取值和注意事项

  • 单位可以是 s(秒)或 ms(毫秒),例如 0.3s 或 300ms 效果一样
  • 值必须大于等于 0,负值会被视为 0
  • 如果只写数值不带单位,样式会失效
  • 多个动画可以用逗号分隔设置不同持续时间

例如同时运行两个动画并分别设置时长:

.box {
  animation-name: slide, fade;
  animation-duration: 1s, 2s; /* 第一个1秒,第二个2秒 */
}

基本上就这些。只要记住给 animation-duration 设置一个带单位的正数,动画就能按你想要的速度跑起来。