当前位置:首页 > CSS

css3制作简单动画

2026-02-12 17:08:05CSS

使用 CSS3 制作简单动画

CSS3 提供了多种方式来实现动画效果,主要包括 transitionanimation 两种方法。以下是具体的实现方式。

使用 transition 实现过渡动画

transition 用于在元素状态变化时添加平滑的过渡效果。例如,当鼠标悬停时改变元素的颜色或大小。

.box {
  width: 100px;
  height: 100px;
  background-color: red;
  transition: all 0.3s ease;
}

.box:hover {
  background-color: blue;
  transform: scale(1.2);
}
  • transition: all 0.3s ease; 表示所有属性变化都会在 0.3 秒内以缓动效果过渡。
  • :hover 伪类触发状态变化。

使用 @keyframesanimation 实现关键帧动画

@keyframes 定义动画的关键帧,animation 将动画应用到元素上。

@keyframes slide {
  0% {
    transform: translateX(0);
  }
  50% {
    transform: translateX(100px);
  }
  100% {
    transform: translateX(0);
  }
}

.box {
  width: 100px;
  height: 100px;
  background-color: green;
  animation: slide 2s infinite;
}
  • @keyframes slide 定义了一个名为 slide 的动画,从初始位置向右移动 100px 再返回。
  • animation: slide 2s infinite; 将动画应用到元素,持续 2 秒并无限循环。

使用 transform 实现变形动画

transform 可以实现旋转、缩放、平移等效果,通常与 transitionanimation 结合使用。

.box {
  width: 100px;
  height: 100px;
  background-color: yellow;
  transition: transform 0.5s ease;
}

.box:hover {
  transform: rotate(45deg) scale(1.5);
}
  • transform: rotate(45deg) scale(1.5); 在悬停时旋转 45 度并放大 1.5 倍。

使用 opacity 实现淡入淡出效果

通过改变 opacity 属性可以实现元素的淡入淡出效果。

.box {
  width: 100px;
  height: 100px;
  background-color: purple;
  opacity: 0.5;
  transition: opacity 0.5s ease;
}

.box:hover {
  opacity: 1;
}
  • opacity: 0.5; 设置初始透明度为 50%。
  • transition: opacity 0.5s ease; 使透明度变化平滑。

使用 animation-fill-mode 控制动画结束状态

animation-fill-mode 可以定义动画结束后元素的样式。

css3制作简单动画

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

.box {
  width: 100px;
  height: 100px;
  background-color: orange;
  animation: fadeIn 2s forwards;
}
  • animation-fill-mode: forwards; 使动画结束后保持最后一帧的状态。

通过以上方法,可以轻松实现各种简单的 CSS3 动画效果。

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

相关文章

vue实现gif动画

vue实现gif动画

Vue 中实现 GIF 动画的方法 在 Vue 中实现 GIF 动画可以通过多种方式完成,具体取决于需求和使用场景。以下是几种常见的方法: 直接使用 <img> 标签加载 GIF 最简单…

vue实现进入动画

vue实现进入动画

Vue 进入动画实现方法 使用 Vue 的过渡系统实现进入动画,主要通过 <transition> 或 <transition-group> 组件结合 CSS 或 JavaSc…

vue实现动画特效

vue实现动画特效

Vue 实现动画特效的方法 Vue 提供了多种方式实现动画特效,主要通过内置组件和第三方库结合 CSS 或 JavaScript 完成。以下是常见的实现方法: 使用 Vue 内置过渡组件 Vue 的…

vue简单功能实现

vue简单功能实现

Vue 简单功能实现示例 以下是一个基于 Vue 3 的简单计数器功能实现,包含模板、脚本和样式部分: <template> <div class="counter">…

vue实现半场动画

vue实现半场动画

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

vue实现翻页动画

vue实现翻页动画

实现翻页动画的基本思路 在Vue中实现翻页动画通常需要结合CSS过渡或动画效果。可以通过Vue的过渡组件<transition>或<transition-group>来实现页面…