当前位置:首页 > CSS

利用css3制作动画

2026-01-08 20:04:08CSS

CSS3 动画基础

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

定义关键帧

@keyframes slide-in {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
  • fromto 分别表示动画的起始和结束状态,也可用百分比(如 0%, 50%, 100%)定义多阶段动画。

应用动画

利用css3制作动画

.element {
  animation: slide-in 1s ease-in-out 0.5s 3 alternate;
}
  • 简写属性 animation 包含以下值(按顺序):
    • slide-in: 动画名称。
    • 1s: 持续时间。
    • ease-in-out: 速度曲线(缓动函数)。
    • 0.5s: 延迟时间。
    • 3: 循环次数(infinite 表示无限循环)。
    • alternate: 方向(往返播放)。

常用动画属性

  • animation-name: 关键帧名称。
  • animation-duration: 动画时长(如 2s)。
  • animation-timing-function: 缓动函数(如 linear, ease, cubic-bezier(0.1, 0.7, 1, 0.1))。
  • animation-delay: 延迟启动时间。
  • animation-iteration-count: 循环次数。
  • animation-direction: 播放方向(normal, reverse, alternate)。
  • animation-fill-mode: 动画结束后的样式(如 forwards 保留最后一帧)。

示例:淡入效果

@keyframes fade-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

.fade-element {
  animation: fade-in 2s ease-out forwards;
}

复杂动画:多关键帧

@keyframes bounce {
  0% { transform: translateY(0); }
  50% { transform: translateY(-30px); }
  100% { transform: translateY(0); }
}

.ball {
  animation: bounce 0.5s infinite;
}

性能优化建议

  • 优先使用 transformopacity 属性,它们可通过 GPU 加速。
  • 避免频繁触发重排(如修改 width, margin)。
  • 使用 will-change 提示浏览器优化(如 will-change: transform)。

浏览器兼容性

  • 现代浏览器均支持 CSS3 动画,旧版本需加前缀(如 -webkit-, -moz-)。可通过工具(如 Autoprefixer)自动生成。

标签: 动画
分享给朋友:

相关文章

vue怎么实现动画

vue怎么实现动画

Vue 动画实现方法 Vue 提供了多种方式实现动画效果,包括内置过渡系统、第三方库集成以及 CSS 动画。以下是常见实现方法: 使用 Vue 过渡系统 通过 <transition>…

js实现动画

js实现动画

使用 CSS 动画与 JavaScript 控制 通过 JavaScript 动态添加或移除 CSS 类来触发动画。CSS 定义关键帧(@keyframes),JavaScript 通过 classL…

vue实现加载动画

vue实现加载动画

Vue 实现加载动画的方法 在 Vue 中实现加载动画可以通过多种方式完成,以下是一些常见的方法: 使用 CSS 动画 通过 CSS 定义动画效果,结合 Vue 的动态类绑定实现加载动画。以下是一个…

vue实现动画效果

vue实现动画效果

Vue 实现动画效果的方法 Vue 提供了多种方式来实现动画效果,包括内置的过渡系统、第三方动画库以及 CSS 动画。以下是几种常见的方法: 使用 Vue 内置的过渡系统 Vue 的 <tra…

vue中实现动画

vue中实现动画

vue中实现动画的方法 Vue提供了多种实现动画的方式,主要依赖于内置的<transition>和<transition-group>组件,以及结合CSS或JavaScript…

vue实现半场动画

vue实现半场动画

Vue 实现半场动画 在 Vue 中实现半场动画通常指的是动画执行到一半时停止或改变状态。可以通过 Vue 的过渡系统或第三方动画库(如 GSAP)实现。 使用 Vue 过渡 Vue 提供了 <…