css3动画属性一览表
时间:2026-08-06 | 作者:星河游者 | 阅读:0css3动画常见属性很多,真正使用时更需要一份能快速查作用、常见取值、示例和注意点的一览表。本文聚焦animation与@keyframes相关设置,把常用属性按统一字段整理,方便你在开发中直接查阅和套用。
严格对应css3动画属性这一主题时,重点应放在animation系列属性和@keyframes规则上。@keyframes负责定义动画过程,animation负责把关键帧绑定到元素,并控制时长、速度、次数、方向和结束状态。先理解这两部分的配合关系,再查具体属性会更高效。
- @keyframes:定义动画在不同阶段的样式变化
- animation-name:把元素与某个关键帧名称绑定
- animation其他子属性:控制播放时间、节奏、次数、方向和状态
下面按“属性名、作用、常见取值、示例、注意点”统一整理,方便直接查表使用。
- animation-name|作用:指定关键帧名称|常见取值:fadeIn、slideUp、自定义名称|示例:
animation-name: fadeIn;|注意点:名称必须与@keyframes后的名称完全一致 - animation-duration|作用:设置一次动画播放时长|常见取值:0.3s、1s、2s|示例:
animation-duration: 1s;|注意点:默认值是0s,不写时通常看不到动画 - animation-timing-function|作用:设置速度曲线|常见取值:ease、linear、ease-in、ease-out、ease-in-out、
cubic-bezier(...)|示例:animation-timing-function: ease-in-out;|注意点:做匀速旋转或跑马灯时常用linear - animation-delay|作用:设置动画延迟开始时间|常见取值:0s、0.5s、2s|示例:
animation-delay: 0.5s;|注意点:延迟期间是否应用首帧样式,常与animation-fill-mode一起看 - animation-iteration-count|作用:设置播放次数|常见取值:1、2、3、infinite|示例:
animation-iteration-count: infinite;|注意点:循环动画要关注性能和用户阅读干扰 - animation-direction|作用:设置播放方向|常见取值:normal、reverse、alternate、alternate-reverse|示例:
animation-direction: alternate;|注意点:alternate表示奇数次正向、偶数次反向 - animation-fill-mode|作用:设置动画开始前或结束后的样式保留方式|常见取值:none、forwards、backwards、both|示例:
animation-fill-mode: forwards;|注意点:forwards保留结束状态,backwards在延迟期间应用首帧样式 - animation-play-state|作用:控制动画运行或暂停|常见取值:running、paused|示例:
animation-play-state: paused;|注意点:常用于鼠标悬停暂停轮播或手动控制动画 - animation|作用:以上属性的简写形式|常见取值:名称 时长 曲线 延迟 次数 方向 填充状态 播放状态|示例:
animation: fadeIn 1s ease 0.3s 1 normal forwards;|注意点:简写时至少要清楚名称和时长,其余值建议按固定顺序书写避免混淆
@keyframes本身不是普通属性,但它决定了动画每个阶段怎么变化,因此查动画属性时通常要一起看。实际开发中,0%和100%最常用,中间可以按需要加入50%或更多节点。
- from等同于0%,to等同于100%,适合简单首尾动画
- 可以写0%、50%、100%这样的多阶段节点,让动画过程更明确
- 常配合transform、opacity使用,性能通常比直接改top、left更稳定
- 不建议把display这类不可平滑过渡的属性当作关键帧主变化项
- 多个关键帧名称应语义化,例如fadeIn、cardFloat、iconShake,便于维护
只看属性定义还不够,下面给出几组能直接复制修改的完整示例。通过示例可以更快理解取值组合方式。
- 淡入动画示例:@keyframes fadeIn { 0% {
opacity: 0;} 100% {opacity: 1;} }.box { animation: fadeIn 0.8s ease forwards; } - 无限循环浮动示例:@keyframes floatY { 0% {
transform: translateY(0);} 50% {transform: translateY(-10px);} 100% {transform: translateY(0);} }.card { animation: floatY 2s ease-in-out infinite; } - 延迟进入示例:@keyframes slideUp { 0% {
opacity: 0;transform: translateY(20px);} 100% {opacity: 1;transform: translateY(0);} }.item { animation: slideUp 0.6s ease 0.4s both; } - 悬停触发动画示例:@keyframes pulse { 0% {
transform: scale(1);} 50% {transform: scale(1.06);} 100% {transform: scale(1);} }.btn:hover { animation: pulse 0.5s ease; }
很多动画问题并不是属性不会写,而是简写顺序、默认值、可动画属性和性能细节没有处理好。把这些易错点提前记住,比单纯背属性名更实用。
- animation简写容易写乱,推荐按“名称 时长 速度曲线 延迟 次数 方向 填充状态 播放状态”的习惯顺序书写
- 多个动画同时声明时,用逗号分隔,例如animation: fadeIn 0.6s ease, floatY 2s ease-in-out infinite;,每组参数一一对应
- 不是所有CSS属性都适合动画化,display、background-image这类属性通常不能做平滑动画,优先使用opacity和transform
- animation-duration默认是0s,animation-iteration-count默认是1,animation-fill-mode默认是none,效果异常时要先排查默认值
- 页面中大面积、长期无限循环动画会带来性能和干扰问题,移动端尤其要控制数量和频率
- 如果只是hover、focus、active等状态切换,优先用transition;只有需要完整时间轴时再用animation,避免同一效果重复叠加两套机制
transition: all虽然写起来省事,但容易让不该过渡的属性也参与动画,实际项目中更建议明确写具体属性,如transition: opacity 0.3s ease, transform 0.3s ease;
这份css3动画属性一览表的核心,不只是列出名称,而是把作用、常见取值、示例和注意点放到同一套查阅结构里。开发时先判断是否需要@keyframes,再按表选择animation属性组合,通常就能更快写出稳定、可维护的动画效果。
免责声明:文中图文均来自网络,如有侵权请联系删除,心愿游戏发布此文仅为传递信息,不代表心愿游戏认同其观点或证实其描述。
相关文章
更多-
- css3动画效果可以两个一起使用吗
- 时间:2026-08-06
精选合集
更多大家都在玩
大家都在看
更多-
- 以下哪种食材被称为“地下苹果” 蚂蚁庄园今日答案9.18
- 时间:2026-09-17
-
- 蚂蚁庄园今天答题答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园答题今日答案2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园小课堂2026年9月18日最新题目答案
- 时间:2026-09-17
-
- 小鸡答题今天的答案是什么2026年9月18日
- 时间:2026-09-17
-
- 蚂蚁庄园每日答题答案2026年9月18日
- 时间:2026-09-17
-
- 蔬菜洗完掉色,说明是被染色了,是真的吗 蚂蚁庄园今日答案9月18日
- 时间:2026-09-17
-
- 满襟蜡绘花纹巧染就花纹当绣裳说的是哪种传统技艺 蚂蚁新村今日答案2026.9.17
- 时间:2026-09-17