当前位置:首页 > 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 中定义多个关键帧:

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

性能优化技巧

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

硬件加速技巧:

.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;
}

旋转加载动画:

css 动画制作

@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 div 制作导航菜单

css div 制作导航菜单

基本导航菜单结构 使用HTML创建一个简单的导航菜单结构,通常使用<ul>和li>列表实现。每个菜单项用<a>标签包裹以实现链接功能。 <div class="n…

css sprites制作

css sprites制作

什么是CSS Sprites CSS Sprites是一种将多个小图片合并成一张大图的技术,通过background-position属性来显示需要的部分。这种技术可以减少HTTP请求次数,提升页面加…

css 制作字体

css 制作字体

使用CSS自定义字体 在CSS中,可以通过@font-face规则引入自定义字体,并使用font-family属性应用这些字体。 @font-face { font-family: 'MyCus…

制作css选择器

制作css选择器

CSS选择器基础语法 CSS选择器用于定位HTML文档中的元素,以便为其应用样式。常见的基础选择器包括: 元素选择器:直接使用HTML标签名(如p、div) 类选择器:以.开头(如.header)…

css3前端动画制作

css3前端动画制作

CSS3 前端动画制作方法 CSS3 提供了多种动画制作方式,包括过渡(Transition)、关键帧动画(Keyframes Animation)和变形(Transform)。以下是具体实现方法:…

css广告制作

css广告制作

CSS广告制作方法 使用CSS创建广告主要涉及布局、动画和响应式设计。以下是关键步骤和技巧: 基础布局设计 通过div容器定义广告区域,设置固定或相对尺寸: .ad-container { w…