当前位置:首页 > CSS

css制作动画

2026-02-13 05:00:25CSS

CSS 动画基础

CSS 动画通过 @keyframes 规则和 animation 属性实现。@keyframes 定义动画的中间状态,animation 控制动画的播放方式。

@keyframes example {
  0% { background-color: red; }
  50% { background-color: yellow; }
  100% { background-color: green; }
}

.element {
  animation: example 3s ease-in-out infinite;
}

关键属性说明

  • animation-name: 指定 @keyframes 名称。
  • animation-duration: 动画持续时间(如 2s)。
  • animation-timing-function: 速度曲线(如 ease, linear)。
  • animation-delay: 动画延迟时间(如 1s)。
  • animation-iteration-count: 播放次数(如 infinite)。
  • animation-direction: 播放方向(如 alternate 往返播放)。

过渡动画(Transition)

CSS 过渡用于在元素状态变化时平滑过渡效果,常用属性包括:

  • transition-property: 指定过渡属性(如 allopacity)。
  • transition-duration: 过渡持续时间。
  • transition-timing-function: 速度曲线。
  • transition-delay: 过渡延迟。
.button {
  background: blue;
  transition: background 0.5s ease;
}
.button:hover {
  background: red;
}

动画性能优化

  • 优先使用 opacitytransform 属性,它们可通过 GPU 加速。
  • 避免频繁触发重排(如修改 width/height)。
  • 使用 will-change 提示浏览器优化(如 will-change: transform)。

复杂动画示例

结合 transform@keyframes 实现旋转与缩放:

@keyframes spin-scale {
  0% { transform: rotate(0deg) scale(1); }
  50% { transform: rotate(180deg) scale(1.5); }
  100% { transform: rotate(360deg) scale(1); }
}

.box {
  animation: spin-scale 2s linear infinite;
}

动画事件监听

通过 JavaScript 监听动画事件:

css制作动画

  • animationstart: 动画开始。
  • animationend: 动画结束。
  • animationiteration: 每次迭代触发。
const element = document.querySelector('.box');
element.addEventListener('animationend', () => {
  console.log('Animation finished');
});

标签: 动画css
分享给朋友:

相关文章

vue实现动画

vue实现动画

Vue 实现动画的方法 Vue 提供了多种方式来实现动画效果,包括内置的过渡系统、第三方动画库以及直接操作 CSS 或 JavaScript 动画。 使用 Vue 内置过渡系统 Vue 的 <…

css文件怎么制作

css文件怎么制作

创建CSS文件的基本步骤 CSS文件用于定义网页的样式,可以与HTML文件分离,便于管理和维护。以下是创建CSS文件的方法: 新建文本文件 使用任意文本编辑器(如Notepad++、VS Code、…

css制作三角形

css制作三角形

使用边框制作三角形 通过设置元素的宽度和高度为0,并利用边框属性,可以创建不同方向的三角形。例如,要创建一个向下的三角形: .triangle-down { width: 0; height…

网页制作css

网页制作css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; 属性: 值; } 例如: p { color: blu…

div css制作导航

div css制作导航

导航栏的基本结构 使用HTML的<nav>标签包裹导航链接,内部通常采用无序列表<ul>和列表项<li>结构。示例代码如下: <nav> <…

css制作图片

css制作图片

使用CSS创建图片效果 CSS可以通过多种方式实现图片的显示、处理和特效。以下是几种常见的方法: 使用background-image属性 在CSS中可以通过background-image属性将图…