CSS 动画结束后保持最终状态的正确设置方法
发布时间 - 2026-01-02 00:00:00 点击率:次通过为动画添加 animation-fill-mode: forwards,可使元素在 css 动画执行完毕后保留最后一帧的样式(如 margin-top: -25px),避免动画回退到初始状态。
在使用 CSS @keyframes 定义动画时,浏览器默认会在动画播放结束后将元素样式重置为动画前的状态(即“回填”为原始值)。例如,你的 .animation 类触发了一个从 margin-top: 0px 上移到 margin-top: -25px 的动画,但若不显式声明动画结束后的状态保持策略,动画一结束,元素会立刻“弹回”原位。
解决方法是为动画规则添加 animation-fill-mode: forwards:
.animation {
animation: up 750ms;
animation-fill-mode: forwards; /* 关键:保持 100% 关键帧的样式 */
}该属性告诉浏览器:动画结束后,元素应维持最后一帧(即 100%)所定义的样式,而非恢复初始状态。配合你已定义的 @keyframes,即可稳定停留在 margin-top: -25px。
✅ 补充说明:
- forwards 仅影响动画结束后的样式保持,不影响动画播放过程;
- 若需同时保持动画开始前的状态(如鼠标悬停前预设样式),可结合 backwards 或 both,但本例中只需 forwards;
- animation-fill-mode 是 animation 复合属性的子属性,也可简写为:
.animation { animation: up 750ms forwards; /* 写在 animation 值末尾即可 */ }
⚠️ 注意事项:
- 确保 a
nimation-fill-mode 应用于触发动画的类(如 .animation),而非基础类(如 .block); - 若后续需再次触发动画(如重复点击上移),当前方案会因 .animation 类已存在而无效果;此时建议配合 animation-play-state 或使用 removeClass().addClass() 重置,或改用 animation: none 临时清除再应用;
- 替代方案(现代推荐):优先考虑使用 transform: translateY(-25px) 替代 margin-top,性能更优且避免文档流扰动。
综上,animation-fill-mode: forwards 是实现“动画定格在终点”的标准、简洁且兼容性良好的解决方案。
# css
# 浏览器
# 解决方法
# margin
# transform
# animation
# 结束后
# 而非
# 鼠标
# 只需
# 会在
# 也可
# 应用于
# 后将
# 可使
# 停留在
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
Laravel事件和监听器如何实现_Laravel Events & Listeners解耦应用的实战教程
如何在Windows虚拟主机上快速搭建网站?
如何在宝塔面板创建新站点?
香港代理服务器配置指南:高匿IP选择、跨境加速与SEO优化技巧
专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?
如何在IIS服务器上快速部署高效网站?
如何快速选择适合个人网站的云服务器配置?
Win11搜索栏无法输入_解决Win11开始菜单搜索没反应问题【技巧】
Laravel的.env文件有什么用_Laravel环境变量配置与管理详解
Laravel怎么使用artisan命令缓存配置和视图
如何在新浪SAE免费搭建个人博客?
使用Dockerfile构建java web环境
javascript中对象的定义、使用以及对象和原型链操作小结
Laravel Eloquent模型如何创建_Laravel ORM基础之Model创建与使用教程
EditPlus中的正则表达式实战(6)
公司门户网站制作流程,华为官网怎么做?
微信h5制作网站有哪些,免费微信H5页面制作工具?
浅谈redis在项目中的应用
Laravel怎么处理异常_Laravel自定义异常处理与错误页面教程
Laravel队列任务超时怎么办_Laravel Queue Timeout设置详解
高端网站建设与定制开发一站式解决方案 中企动力
Laravel用户密码怎么加密_Laravel Hash门面使用教程
C++时间戳转换成日期时间的步骤和示例代码
php增删改查怎么学_零基础入门php数据库操作必知基础【教程】
Win11怎么恢复误删照片_Win11数据恢复工具使用【推荐】
为什么php本地部署后css不生效_静态资源加载失败修复技巧【技巧】
如何用5美元大硬盘VPS安全高效搭建个人网站?
实例解析Array和String方法
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
打造顶配客厅影院,这份100寸电视推荐名单请查收
javascript基本数据类型及类型检测常用方法小结
家族网站制作贴纸教程视频,用豆子做粘帖画怎么制作?
Windows10如何删除恢复分区_Win10 Diskpart命令强制删除分区
php 三元运算符实例详细介绍
公司网站制作价格怎么算,公司办个官网需要多少钱?
如何在阿里云高效完成企业建站全流程?
Laravel怎么在Blade中安全地输出原始HTML内容
如何在局域网内绑定自建网站域名?
网页制作模板网站推荐,网页设计海报之类的素材哪里好?
详解CentOS6.5 安装 MySQL5.1.71的方法
网站优化排名时,需要考虑哪些问题呢?
如何将凡科建站内容保存为本地文件?
如何登录建站主机?访问步骤全解析
Bootstrap CSS布局之列表
如何在建站之星绑定自定义域名?
微信小程序 五星评分(包括半颗星评分)实例代码
免费网站制作appp,免费制作app哪个平台好?
php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】
Laravel怎么配置不同环境的数据库_Laravel本地测试与生产环境动态切换【方法】
西安专业网站制作公司有哪些,陕西省建行官方网站?


nimation-fill-mode 应用于触发动画的类(如 .animation),而非基础类(如 .block);