当前位置:首页 > CSS

css动画制作

2026-01-14 11:42:00CSS

CSS动画基础语法

CSS动画通过@keyframes规则定义动画序列,结合animation属性实现动态效果。以下是一个基础示例:

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

.element {
  animation: example 3s infinite;
}

关键帧定义

使用@keyframes规则指定动画过程中的样式变化。百分比表示动画进度的关键节点:

@keyframes slidein {
  from { transform: translateX(0%); }
  to   { transform: translateX(100%); }
}

动画属性配置

animation是以下子属性的简写:

css动画制作

  • animation-name: 指定@keyframes名称
  • animation-duration: 动画周期时长(如2s
  • animation-timing-function: 速度曲线(ease/linear等)
  • animation-delay: 开始前延迟
  • animation-iteration-count: 播放次数(infinite表示无限循环)
  • animation-direction: 播放方向(alternate表示往返播放)
  • animation-fill-mode: 设置动画结束后的状态

缓动函数控制

通过animation-timing-function调整运动曲线:

.element {
  animation-timing-function: cubic-bezier(0.1, 0.7, 1.0, 0.1);
}

多动画组合

一个元素可同时应用多个动画:

css动画制作

.box {
  animation: 
    fadeIn 0.5s ease-out,
    slideUp 1s ease-in-out 0.5s;
}

性能优化建议

优先使用transformopacity属性制作动画,这些属性不会触发重排:

@keyframes optimize {
  to {
    transform: rotate(360deg);
    opacity: 0.5;
  }
}

浏览器兼容处理

添加厂商前缀确保兼容性:

.element {
  -webkit-animation: spin 2s linear infinite;
  -moz-animation: spin 2s linear infinite;
  animation: spin 2s linear infinite;
}

动画事件监听

通过JavaScript监听动画事件:

const el = document.querySelector('.animated');
el.addEventListener('animationend', () => {
  console.log('动画结束');
});

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

相关文章

css网页制作

css网页制作

CSS网页制作基础 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是核心知识点: 选择器与样式规则 /* 标签选择器 */ p { color: #333;…

制作css

制作css

CSS基础语法 CSS规则由选择器和声明块组成。选择器指向需要设置样式的HTML元素,声明块包含一个或多个用分号分隔的声明。每个声明由属性和值组成,用冒号分隔。 选择器 { 属性: 值;…

网页制作 css

网页制作 css

CSS 基础语法 CSS(层叠样式表)用于控制网页的样式和布局。基本语法由选择器和声明块组成: 选择器 { 属性: 值; } 例如设置段落文字颜色为红色: p { color: red;…

css 制作导航

css 制作导航

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

css制作教程

css制作教程

CSS 基础概念 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。它与HTML结合使用,HTML负责结构,CSS负责样式。 基本语法结构 CSS规则由选择器和声明块组成:…

css制作菜单

css制作菜单

水平菜单制作 使用display: inline-block或flexbox布局创建水平菜单。设置list-style: none移除默认列表样式,添加padding和margin调整间距。 &l…