当前位置:首页 > CSS

css3动画制作

2026-02-26 20:09:13CSS

CSS3 动画基础

CSS3 动画通过 @keyframes 规则和 animation 属性实现。@keyframes 定义动画的关键帧,animation 控制动画的播放方式(如时长、延迟、循环次数等)。

定义关键帧

@keyframes example {
  0% { background-color: red; }
  50% { background-color: yellow; }
  100% { background-color: green; }
}
  • 0% 表示动画开始状态,100% 表示结束状态,中间可添加任意百分比(如 50%)。

应用动画

css3动画制作

div {
  animation-name: example;
  animation-duration: 3s;
  animation-timing-function: ease-in-out;
  animation-delay: 1s;
  animation-iteration-count: infinite;
  animation-direction: alternate;
}

常用动画属性

  • animation-name:指定 @keyframes 名称。
  • animation-duration:动画时长(如 2s)。
  • animation-timing-function:速度曲线(easelinearcubic-bezier())。
  • animation-delay:动画开始前的延迟时间。
  • animation-iteration-count:播放次数(infinite 表示无限循环)。
  • animation-direction:播放方向(normalreversealternate)。
  • animation-fill-mode:动画结束后的样式状态(forwards 保留最后一帧)。

简写语法

div {
  animation: example 3s ease-in-out 1s infinite alternate;
}

顺序为:name duration timing-function delay iteration-count direction

实际示例:淡入淡出效果

@keyframes fadeInOut {
  0%, 100% { opacity: 0; }
  50% { opacity: 1; }
}

.element {
  animation: fadeInOut 2s linear infinite;
}

进阶技巧

多动画组合
一个元素可同时应用多个动画:

css3动画制作

div {
  animation: fadeInOut 2s, rotate 3s linear infinite;
}

使用 transform 实现复杂动画
结合 transform 属性实现旋转、缩放等效果:

@keyframes spinAndScale {
  0% { transform: rotate(0deg) scale(1); }
  100% { transform: rotate(360deg) scale(1.5); }
}

性能优化

  • 优先使用 opacitytransform(硬件加速性能更好)。
  • 避免频繁触发重排(如修改 widthmargin)。

浏览器兼容性

  • 现代浏览器(Chrome、Firefox、Safari、Edge)均支持 CSS3 动画。
  • 前缀兼容(如 -webkit-)在旧版浏览器中可能需要:
    @-webkit-keyframes example { ... }
    .element {
    -webkit-animation: example 3s;
    }

标签: 动画制作
分享给朋友:

相关文章

css帧动画制作视频

css帧动画制作视频

CSS帧动画制作方法 CSS帧动画通过@keyframes规则和animation属性实现,以下是具体步骤: 定义关键帧 使用@keyframes定义动画序列,从0%到100%描述每一帧的状态:…

css3前端动画制作

css3前端动画制作

CSS3 前端动画制作方法 CSS3 提供了多种方式实现动画效果,包括过渡(transition)、关键帧动画(keyframes)和变换(transform)。以下是具体实现方法: 过渡动画(T…

css3在线动画制作

css3在线动画制作

CSS3 在线动画制作工具 以下是一些常用的在线工具,可以帮助快速生成CSS3动画代码,无需手动编写全部代码: Animista 网址:https://animista.net/ 特点:提供预设的…

css3菊花动画制作

css3菊花动画制作

使用 CSS3 制作菊花动画 菊花动画通常指一种旋转的加载动画,类似于花瓣旋转的效果。以下是几种实现方法: 关键帧动画实现 通过 @keyframes 定义旋转动画,结合 transform…

css 动画制作

css 动画制作

CSS 动画基础 CSS 动画通过 @keyframes 和 animation 属性实现。@keyframes 定义动画关键帧,animation 控制动画的播放方式。 定义一个简单的动画:…

css动画制作步骤

css动画制作步骤

CSS动画制作步骤 关键帧定义 使用@keyframes规则定义动画序列,指定动画在不同时间点的样式状态。例如: @keyframes fadeIn { 0% { opacity: 0; }…