当前位置:首页 > CSS

css 动画制作

2026-01-28 03:37:51CSS

CSS 动画基础

CSS 动画通过 @keyframesanimation 属性实现。@keyframes 定义动画关键帧,animation 控制动画的播放方式。

定义一个简单的动画:

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

.element {
  animation: fadeIn 2s ease-in-out;
}

常用动画属性

animation 是以下属性的简写:

  • animation-name: 指定 @keyframes 名称
  • animation-duration: 动画持续时间(如 2s
  • animation-timing-function: 速度曲线(如 ease, linear
  • animation-delay: 延迟开始时间
  • animation-iteration-count: 播放次数(infinite 表示无限循环)
  • animation-direction: 播放方向(normal, reverse, alternate
  • animation-fill-mode: 动画结束后的样式状态

复杂关键帧动画

可以在 @keyframes 中定义多个关键帧:

css 动画制作

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

性能优化技巧

使用 transformopacity 属性制作动画性能最佳,因为这两个属性不会触发重排(reflow)。避免使用 left, top, margin 等属性制作动画。

硬件加速技巧:

css 动画制作

.element {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000px;
}

动画事件监听

JavaScript 可以监听 CSS 动画事件:

const element = document.querySelector('.element');
element.addEventListener('animationstart', () => {
  console.log('动画开始');
});
element.addEventListener('animationend', () => {
  console.log('动画结束');
});

实用动画示例

弹跳效果:

@keyframes bounce {
  0%, 100% { transform: translateY(0); }
  25% { transform: translateY(-20px); }
  50% { transform: translateY(-10px); }
  75% { transform: translateY(-5px); }
}

.bounce {
  animation: bounce 0.5s ease infinite;
}

旋转加载动画:

@keyframes spin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

.loader {
  animation: spin 1s linear infinite;
  border: 4px solid rgba(0, 0, 0, 0.1);
  border-radius: 50%;
  border-top-color: #3498db;
  width: 40px;
  height: 40px;
}

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

相关文章

css 制作导航

css 制作导航

基础导航栏制作 使用HTML和CSS创建一个水平导航栏。HTML结构通常使用<ul>和<li>标签,CSS负责样式布局。 <nav> <ul class…

css导航条制作

css导航条制作

基础导航条制作 使用HTML的无序列表<ul>和CSS的display: flex属性可以快速创建横向导航条。HTML结构通常包含导航链接列表,CSS负责样式和布局。 <nav&g…

怎么制作css文档

怎么制作css文档

创建CSS文档的基本步骤 新建一个纯文本文件,将文件后缀名改为.css,例如styles.css。使用代码编辑器(如VS Code、Sublime Text等)打开文件,开始编写CSS规则。 编写C…

制作css表格

制作css表格

基础CSS表格结构 使用HTML的<table>标签创建表格骨架,搭配CSS控制样式。以下是一个基础示例: <table class="styled-table"> &l…

css制作旋转

css制作旋转

CSS旋转的实现方法 CSS提供了多种方式实现元素的旋转效果,主要通过transform属性配合旋转函数完成。以下是常见的旋转实现方式: 使用rotate()函数 transform: rotate…

css制作popup

css制作popup

CSS 制作 Popup 的方法 使用纯 CSS 创建基础 Popup 通过 HTML 和 CSS 结合,可以创建一个简单的弹出窗口。以下是一个基础实现: <div class="popup-…