CSS 动画填充模式属性

大神帮我说明下,CSS 动画填充模式属性
最新回答
夏了夏天

2026-10-21 09:28:28

CSS动画填充模式属性(animation-fill-mode)用于控制动画在播放前后元素的样式表现。以下是关键点说明:

1. 属性作用
animation-fill-mode 定义动画执行前后(即未播放时或结束后)元素是否应用动画中的样式规则。例如,若设置为 backwards,元素会在动画延迟期间显示第一帧(from)的样式。

2. 常用属性值

  • none(默认):动画播放前后不应用任何动画样式,元素保持原始状态。
  • forwards:动画结束后保留最后一帧(to)的样式。
  • backwards:动画开始前(包括延迟阶段)应用第一帧(from)的样式。
  • both:同时遵循 backwards 和 forwards 的规则。

3. 示例代码解析
在提供的代码中:

  • 元素初始为红色背景(通过 div 的 background: red 设置)。
  • animation-fill-mode: backwards 使元素在动画延迟期间显示绿色背景(from 中的 background-color: green),动画开始后逐渐过渡到蓝色(to 中的 background-color: blue)。
  • 若改为 forwards,动画结束后元素将保持蓝色背景和 left: 200px 的位置。

4. 应用场景

  • 预加载效果:用 backwards 提前显示起始状态,避免突兀变化。
  • 状态保持:用 forwards 让元素停留在动画结束时的样式(如菜单展开后的位置)。

注意事项:

  • 该属性不影响动画播放中的过渡效果,仅控制边界状态。
  • 可结合 animation-delay 观察延迟阶段的样式变化。

通过合理使用 animation-fill-mode,可以更灵活地控制动画与页面初始状态的衔接。