当前位置:首页 > CSS

css3动画制作

2026-01-08 11:39:44CSS

CSS3动画基础

CSS3动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。核心属性包括:

  • animation-name: 指定@keyframes名称
  • animation-duration: 动画持续时间(如2s
  • animation-timing-function: 速度曲线(如ease-in-out
  • animation-delay: 延迟开始时间
  • animation-iteration-count: 播放次数(infinite表示循环)
  • animation-direction: 播放方向(如alternate

定义关键帧动画

通过@keyframes定义动画阶段,百分比或from/to关键字描述状态变化:

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
/* 或使用百分比 */
@keyframes move {
  0% { transform: translateX(0); }
  50% { transform: translateX(100px); }
  100% { transform: translateX(0); }
}

应用动画到元素

将定义好的动画绑定到选择器:

css3动画制作

.element {
  animation-name: fadeIn;
  animation-duration: 1.5s;
  animation-timing-function: ease-out;
  animation-delay: 0.5s;
  animation-iteration-count: 2;
}
/* 简写形式 */
.element {
  animation: fadeIn 1.5s ease-out 0.5s 2;
}

常见动画效果示例

淡入效果

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.fade-in {
  animation: fadeIn 1s;
}

弹跳效果

css3动画制作

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-20px); }
}
.bounce {
  animation: bounce 0.5s infinite;
}

旋转动画

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}
.spinner {
  animation: spin 2s linear infinite;
}

动画性能优化

  • 优先使用transformopacity属性,它们不会触发重排
  • 避免频繁修改width/height/margin等属性
  • 使用will-change预声明变化属性:
    .element {
      will-change: transform, opacity;
    }
  • 硬件加速可通过transform: translateZ(0)触发

响应式动画控制

通过JavaScript动态控制动画:

const element = document.querySelector('.animated');
element.style.animationPlayState = 'paused'; // 暂停
element.style.animationPlayState = 'running'; // 继续

浏览器兼容性处理

添加前缀确保兼容旧版浏览器:

@-webkit-keyframes example {
  /* ... */
}
.element {
  -webkit-animation: example 2s;
  animation: example 2s;
}

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

相关文章

css3 动画制作

css3 动画制作

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

css3菊花动画制作

css3菊花动画制作

CSS3 菊花动画制作 CSS3 菊花动画(Loading Spinner)可以通过 @keyframes 和 transform 属性实现旋转效果,结合伪元素或子元素模拟花瓣。 基础旋转动…

css3动画制作

css3动画制作

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

css动画制作图片

css动画制作图片

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

css3菊花动画制作

css3菊花动画制作

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

动画制作css

动画制作css

使用 CSS 制作动画 CSS 动画可以通过 @keyframes 规则和 animation 属性实现,适用于元素的状态变化、过渡效果等。以下是实现 CSS 动画的核心方法: 定义关键帧动画 通…