当前位置:首页 > 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%)。

应用动画

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;
}

进阶技巧

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

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); }
}

性能优化

css3动画制作

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

浏览器兼容性

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

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

相关文章

css3动画制作

css3动画制作

CSS3 动画基础 CSS3 动画通过 @keyframes 规则和 animation 属性实现。@keyframes 定义动画的关键帧,animation 控制动画的播放方式(如持续时间、延迟、循…

css动画制作图片

css动画制作图片

CSS动画制作图片的方法 使用CSS动画可以为图片添加各种动态效果,如旋转、缩放、淡入淡出等。以下是几种常见的CSS动画实现方式。 基础动画实现 通过@keyframes定义动画序列,并将其应用到图…

css打勾动画制作

css打勾动画制作

CSS打勾动画制作方法 使用CSS制作打勾动画可以通过伪元素和关键帧动画实现,以下是具体实现方式: HTML结构 <div class="checkmark"></div>…

css帧动画制作视频

css帧动画制作视频

CSS帧动画制作方法 使用CSS的@keyframes规则和animation属性可以创建帧动画效果。以下是一个基本示例: @keyframes example { 0% {backgrou…

css动画制作图片

css动画制作图片

CSS动画制作图片的方法 CSS动画可以通过@keyframes和animation属性实现图片的动态效果,例如旋转、缩放、淡入淡出等。 基础动画实现 定义一个@keyframes规则,描述动画从开…

css3前端动画制作

css3前端动画制作

CSS3 前端动画制作方法 使用 transition 制作过渡动画 transition 用于在元素状态变化时添加平滑过渡效果。可以定义过渡的属性、持续时间、延迟时间和速度曲线。 .box {…