当前位置:首页 > CSS

css3制作简单动画

2026-04-01 01:07:53CSS

使用 @keyframes 定义动画

通过 @keyframes 规则定义动画的关键帧,指定动画从开始到结束的样式变化。例如,创建一个元素从左移动到右的动画:

@keyframes slideRight {
  from { transform: translateX(0); }
  to { transform: translateX(100px); }
}

应用动画到元素

使用 animation 属性将动画绑定到目标元素,需指定动画名称、持续时间、速度曲线等参数:

.box {
  width: 50px;
  height: 50px;
  background-color: blue;
  animation: slideRight 2s ease-in-out infinite;
}
  • slideRight:动画名称。
  • 2s:动画持续时间为 2 秒。
  • ease-in-out:速度曲线(先加速后减速)。
  • infinite:无限循环播放。

多关键帧动画

定义更复杂的动画时,可以使用百分比指定多个关键帧:

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

控制动画播放状态

通过 animation-play-state 暂停或继续动画:

.box:hover {
  animation-play-state: paused;
}

动画属性简写

animation 是以下属性的简写:

  • animation-name
  • animation-duration
  • animation-timing-function
  • animation-delay
  • animation-iteration-count
  • animation-direction

示例:

.box {
  animation: fadeIn 3s linear 1s 5 alternate;
}

透明度渐变示例

实现元素淡入效果:

@keyframes fadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}
.element {
  animation: fadeIn 1.5s ease-out;
}

旋转动画

结合 rotate 实现旋转效果:

css3制作简单动画

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

注意事项

  • 使用 transformopacity 属性制作动画性能更优,避免使用 left/top
  • 通过 will-change 提示浏览器优化动画元素:
    .box {
      will-change: transform;
    }

标签: 简单动画
分享给朋友:

相关文章

vue动画实现方式

vue动画实现方式

Vue 动画实现方式 Vue 提供了多种方式来实现动画效果,主要通过内置的 <transition> 和 <transition-group> 组件以及结合 CSS 或 Jav…

vue实现半场动画

vue实现半场动画

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

vue实现过度动画

vue实现过度动画

Vue过渡动画的实现方式 Vue提供了<transition>和<transition-group>组件来实现元素进入/离开的过渡动画效果,主要通过CSS或JavaScript…

vue中动画实现

vue中动画实现

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

vue实现动画原理

vue实现动画原理

Vue 动画实现原理 Vue 的动画系统基于 CSS 过渡和动画,同时结合了 JavaScript 钩子函数。其核心是通过内置组件 <transition> 和 <transitio…

vue不点击实现动画

vue不点击实现动画

在Vue中实现不依赖点击触发的动画,可以通过多种方式实现,例如利用生命周期钩子、条件渲染、CSS动画或第三方库。以下是几种常见方法: 使用Vue的过渡和动画系统 Vue内置的<transiti…