动画简写属性

最后更新:2026-09-13

animation 动画简写属性

animation 是 CSS 中用于实现复杂动画效果的简写属性,配合 @keyframes 规则可以定义多阶段、可循环、可暂停的动画序列。与 transition 不同,animation 无需触发条件即可自动播放,适合实现加载动画、轮播、呼吸效果等持续性的视觉表现。

分类
初始值none
继承
适用于all
可动画discrete
CSS 版本CSS3
状态标准

📝 语法

animation: [ none | <single-animation> ]#;
/* <single-animation> = <time> || <easing-function> || <time> || <single-animation-iteration-count> || <single-animation-direction> || <single-animation-fill-mode> || <single-animation-play-state> || [ none | <keyframes-name> ] */

⚙️ 取值

类型描述
<single-animation>#动画简写:名称 持续时间 时序函数 延迟 次数 方向 填充模式 播放状态

▶ 示例

编辑下方代码,在 playground 中查看实时效果:

🌐 浏览器支持

浏览器 ChromeChrome EdgeEdge FirefoxFirefox SafariSafari OperaOpera
animation v43 v12 v16 v9 v30
所有主流浏览器均支持
提示: 简写中各值的顺序不重要,但第一个可被解析为时间值的是 duration,第二个是 delay;名称若与关键字同名需避免歧义。
重要: animation 简写中若不包含 animation-name,则整个声明无效;通常建议把 animation-name 放在简写里以确保动画生效。

❓ 常见问题

Qanimation 可以中途暂停吗?
A可以。设置 animation-play-state: paused 暂停,running 恢复。最常见的用法是配合 :hover 实现「鼠标悬停时暂停动画」:平时 running,悬停时切换为 paused。注意 pause 状态下动画停留在当前帧,恢复后从暂停处继续播放。
Q如何让动画只播放一次后停在最后一帧?
A可以。设置 animation-play-state: paused 暂停,running 恢复。最常见的用法是配合 :hover 实现「悬停时暂停动画」。pause 状态下动画停留在当前帧,恢复后从暂停处继续播放。
Qanimation 简写里两个时间值哪个是 duration 哪个是 delay?
A简写中第一个可解析为时间的是 duration,第二个才是 delay。例如 animation: bounce 1.5s 0.5s ease 中,1.5s 是播放时长,0.5s 是延迟 0.5 秒后开始;只写一个时间时它就是 duration,delay 默认为 0s。把这两个时间搞反是简写最常见的错误。
QCSS 动画卡顿、掉帧怎么办?如何让 animation 更流畅?
A优先只对 transform 和 opacity 做动画,避免动画 width、height、filter 等触发重排重绘的属性;给动画元素设置 will-change 提前建层;动画元素尽量用绝对定位脱离文档流。animation-delay 取负值可跳过开头直接进入中段。

📚 相关教程

Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏