当前位置:首页 > 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 在线动画制作工具推荐 Animista 提供可视化界面生成 CSS 动画代码,支持自定义缓动效果、延迟和迭代次数。可直接复制生成的 @keyframes 和动画属性代码到项目中。 网址:ht…

css3菊花动画制作

css3菊花动画制作

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

css帧动画制作视频

css帧动画制作视频

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

css动画制作

css动画制作

CSS动画基础语法 CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例: @keyframes example { 0% {ba…

css3 动画制作

css3 动画制作

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