如何通过css animation-name指定动画名称

来源:站长素材作者:广州SEO公司头衔:草根站长
导读:本期聚焦于小伙伴创作的《如何通过css animation-name指定动画名称》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《如何通过css animation-name指定动画名称》有用,将其分享出去将是对创作者最好的鼓励。

css中的animation-name属性用于指定要应用到元素上的动画名称,这个名称需要和@keyframes规则中定义的动画名称一一对应,才能让元素执行对应的动画效果。它是css动画模块的核心属性之一,只有正确设置该属性,元素才能关联到对应的动画关键帧配置。

如何通过css animation-name指定动画名称

animation-name基本语法

animation-name的语法格式如下:

/* 基本语法 */
animation-name: none | <keyframes-name>;

/* 多个动画名称,用逗号分隔 */
animation-name: move, fade;

其中<keyframes-name>就是在@keyframes规则中定义的动画名称,名称区分大小写,必须完全匹配才能生效。

基础使用示例

首先需要用@keyframes定义动画名称,再通过animation-name关联到元素,完整的简单示例如下:

/* 定义名为slide-in的动画 */
@keyframes slide-in {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}

/* 给目标元素应用动画 */
.target-box {
  width: 200px;
  height: 100px;
  background-color: #4CAF50;
  /* 指定动画名称为slide-in */
  animation-name: slide-in;
  /* 动画持续时间,必须设置否则动画不生效 */
  animation-duration: 1s;
}
<div class="target-box">滑动进入的元素</div>

上面的代码中,@keyframes定义了名为slide-in的动画,然后在.target-box的样式中通过animation-name指定该动画名称,同时设置animation-duration为1秒,元素加载时就会执行从左到右滑入的动画。

多个动画名称的使用

animation-name支持同时指定多个动画名称,多个名称之间用逗号分隔,对应的元素会同时执行多个动画,示例如下:

/* 定义移动动画 */
@keyframes move-right {
  to {
    transform: translateX(100px);
  }
}

/* 定义颜色变化动画 */
@keyframes change-color {
  to {
    background-color: #ff9800;
  }
}

.multi-animation-box {
  width: 150px;
  height: 150px;
  background-color: #2196F3;
  /* 同时指定两个动画名称 */
  animation-name: move-right, change-color;
  animation-duration: 2s, 2s;
  animation-iteration-count: infinite;
}
<div class="multi-animation-box">同时执行两个动画</div>

此时元素会同时向右移动并改变背景颜色,两个动画的执行时长都是2秒,且无限循环。

特殊取值none的作用

当animation-name取值为none时,表示元素不应用任何动画,即使元素关联了@keyframes规则也不会生效,这个取值常用于动态控制动画的开关,示例如下:

@keyframes rotate {
  to {
    transform: rotate(360deg);
  }
}

.rotate-box {
  width: 100px;
  height: 100px;
  background-color: #e91e63;
  animation-name: none;
  animation-duration: 1s;
  animation-iteration-count: infinite;
}

/* 鼠标悬停时开启动画 */
.rotate-box:hover {
  animation-name: rotate;
}
<div class="rotate-box">悬停开启旋转</div>

默认状态下rotate-box的animation-name为none,不会执行旋转动画,当鼠标悬停在元素上时,animation-name被修改为rotate,元素就会开始无限旋转。

使用注意事项

  • animation-name指定的名称必须和@keyframes定义的名称完全一致,包括大小写,否则动画无法生效。
  • 单独设置animation-name不会让动画执行,必须同时设置animation-duration属性,因为动画默认持续时间为0,不会显示动画效果。
  • 如果同时指定多个动画名称,对应的动画属性如animation-duration等也需要按相同顺序设置,或者设置为单个值应用到所有动画。
  • 动画名称不能是css保留字,避免使用initial、inherit、unset等作为动画名称,防止出现解析错误。

常见问题解答

为什么设置了animation-name动画还是不生效

首先检查@keyframes定义的名称和animation-name的值是否完全一致,然后确认是否设置了animation-duration属性,最后检查元素是否被其他样式覆盖导致动画无法执行。

动画名称可以包含中文吗

理论上css支持中文作为动画名称,但是实际开发中建议优先使用英文字母、数字、下划线的组合作为动画名称,避免不同浏览器对中文解析出现兼容性问题。

cssanimation-name动画名称@keyframes修改时间:2026-06-14 03:06:35

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。