animation-fill-mode用于控制动画前后元素样式表现,其默认值为none,动画结束后元素会恢复原始样式;设置forwards可使元素保留动画最后一帧样式,避免跳回初始状态;backwards则让元素在动画开始前应用第一帧样式,常配合animation-delay使用;both结合两者效果。例如,fadeOut动画中使用forwards能让元素淡出后保持隐藏;slideIn动画中使用backwards可在延迟期间提前显示起始位置,提升视觉连贯性。合理使用该属性可让动画过渡更自然。

CSS 的 animation-fill-mode 属性用于控制动画执行前后,元素的样式表现。特别是当动画未运行(如动画开始前或结束后),这个属性决定了元素是否应用动画关键帧中的样式,从而避免样式“跳回”初始状态的问题。
animation-fill-mode 的作用
默认情况下,CSS 动画只在执行过程中影响元素样式。一旦动画结束,元素会立即恢复到原始样式(即非动画状态)。通过设置 animation-fill-mode,可以让元素保留动画最后一帧的样式,或者在动画开始前就应用第一帧的样式。
可用值及其效果
none:默认值。动画在执行前后不应用任何样式。元素在动画结束后立刻回到原始状态。 forwards:动画结束后,元素保留最后一帧(即 100% 或 to 关键帧)的样式,不会恢复原状。 backwards:动画开始前,元素应用第一帧(即 0% 或 from 关键帧)的样式。但只在动画延迟期间生效,常配合 animation-delay 使用。 both:结合 forwards 和 backwards 的效果。动画开始前使用首帧样式,结束后保留末帧样式。
实际应用场景
假设你想让一个元素淡出后保持隐藏状态:
@keyframes fadeOut { to { opacity: 0; }}.element { animation: fadeOut 2s ease-in-out; animation-fill-mode: forwards;}
这里设置 forwards 后,元素在动画结束后仍保持 opacity: 0,而不是闪回原来的不透明状态。
立即学习“前端免费学习笔记(深入)”;
Pic Copilot
AI时代的顶级电商设计师,轻松打造爆款产品图片
158 查看详情
若希望元素在延迟期间就进入准备状态(比如提前移动到起始位置),可使用:
.element { animation: slideIn 1s ease-out 2s; animation-fill-mode: backwards;}
这样在 2 秒延迟期间,元素就会显示为动画第一帧的位置,提升视觉连贯性。
基本上就这些。合理使用 animation-fill-mode 能有效控制动画的“前后状态”,让过渡更自然。
以上就是css animation-fill-mode控制动画结束状态的详细内容,更多请关注创想鸟其它相关文章!
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 chuangxiangniao@163.com 举报,一经查实,本站将立刻删除。
发布者:程序猿,转转请注明出处:https://www.chuangxiangniao.com/p/1044654.html
微信扫一扫
支付宝扫一扫