当前位置:首页 > 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实现border动画

vue实现border动画

实现边框动画的方法 在Vue中实现边框动画可以通过CSS动画或过渡效果结合Vue的动态样式绑定来实现。以下是几种常见的方法: 使用CSS过渡和Vue的class绑定 通过动态添加或移除CSS类来触发…

vue如何实现动画

vue如何实现动画

实现 Vue 动画的常见方法 使用 Vue 内置的 <transition> 组件 Vue 提供了 <transition> 组件,用于在元素插入、更新或移除时添加动画效果。通…

点击实现vue动画

点击实现vue动画

在Vue中实现动画效果可以通过内置的<transition>和<transition-group>组件结合CSS或JavaScript钩子完成。以下是具体方法: 使用CSS过…

vue实现简单对话

vue实现简单对话

Vue实现简单对话功能 数据绑定与列表渲染 使用Vue的v-for指令渲染对话列表,结合v-model实现输入框双向绑定: <template> <div> &l…

vue实现jquery动画

vue实现jquery动画

Vue 实现 jQuery 动画的方法 Vue 本身提供了过渡和动画的支持,可以通过内置的 <transition> 和 <transition-group> 组件实现类似 j…

vue实现消息动画

vue实现消息动画

Vue 实现消息动画的方法 使用 Vue Transition 组件 Vue 内置的 <transition> 组件可以方便地实现消息动画效果。通过添加 CSS 过渡或动画类名,可以实现平…