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,可以更灵活地控制动画与页面初始状态的衔接。