当前位置:首页 > CSS

css中动画制作

2026-03-12 00:42:17CSS

CSS 动画基础

CSS 动画通过 @keyframes 规则和 animation 属性实现。@keyframes 定义动画的关键帧,animation 控制动画的播放方式(如时长、次数、方向等)。

关键帧定义

@keyframes 动画名称 {
  0% { /* 起始状态 */ }
  50% { /* 中间状态 */ }
  100% { /* 结束状态 */ }
}

示例:元素从左向右移动

@keyframes slide {
  from { transform: translateX(0); }
  to { transform: translateX(100px); }
}

动画属性

通过 animation 简写或分属性控制动画:

.element {
  animation: 动画名称 时长 速度曲线 延迟 次数 方向 填充模式;
}

分属性示例:

.element {
  animation-name: slide;
  animation-duration: 2s;
  animation-timing-function: ease-in-out;
  animation-iteration-count: infinite;
}

动画属性详解

  1. animation-name
    指定 @keyframes 定义的动画名称。

  2. animation-duration
    动画持续时间(如 2s500ms)。

    css中动画制作

  3. animation-timing-function
    速度曲线:

    • ease(默认,先慢后快再慢)
    • linear(匀速)
    • ease-in(加速)
    • ease-out(减速)
    • cubic-bezier() 自定义曲线(如 cubic-bezier(0.1, 0.7, 1.0, 0.1))。
  4. animation-delay
    动画开始前的延迟时间(如 1s)。

  5. animation-iteration-count
    播放次数:

    • 数字(如 3
    • infinite(无限循环)。
  6. animation-direction
    播放方向:

    css中动画制作

    • normal(默认,正向播放)
    • reverse(反向播放)
    • alternate(正反交替)
    • alternate-reverse(反反正交替)。
  7. animation-fill-mode
    动画结束后的样式保留:

    • none(默认,恢复初始状态)
    • forwards(保留结束状态)
    • backwards(应用第一帧状态)
    • both(结合前后状态)。
  8. animation-play-state
    控制播放状态:

    • running(默认,播放)
    • paused(暂停)。

示例:跳动效果

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

.box {
  animation: bounce 1s ease-in-out infinite;
}

多动画组合

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

.element {
  animation: 
    slide 2s ease-out,
    fade 1.5s linear;
}

性能优化建议

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

浏览器兼容性

现代浏览器均支持 CSS 动画。如需兼容旧版本,可添加前缀:

@-webkit-keyframes slide { /* Chrome/Safari */ }
.element {
  -webkit-animation: slide 2s;
}

通过灵活组合关键帧和动画属性,可实现复杂的交互效果,如加载动画、页面过渡等。

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

相关文章

制作css

制作css

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

css动画制作

css动画制作

CSS动画制作方法 使用@keyframes规则定义动画序列,通过animation属性将动画应用到元素上。以下是一个基础示例: @keyframes fadeIn { from { opaci…

css制作圆形

css制作圆形

使用 border-radius 属性 通过设置 border-radius 为 50%,可以将元素变为圆形。元素的宽度和高度需相同,否则会呈现椭圆形。 .circle { widt…

css制作扑克牌

css制作扑克牌

使用CSS制作扑克牌 扑克牌的样式可以通过CSS的border-radius、box-shadow和transform等属性实现。以下是一个简单的扑克牌设计示例: <div class="po…

css风格制作

css风格制作

CSS 风格制作方法 内联样式 直接在 HTML 元素的 style 属性中编写 CSS 代码,适用于单个元素的快速样式设置。 示例: <p style="color: blue; fon…

css制作教程

css制作教程

CSS基础入门 CSS(层叠样式表)用于控制网页的视觉表现,包括布局、颜色、字体等。以下是一个系统化的学习路径: 选择器与基本语法 CSS规则由选择器和声明块组成: 选择器 { 属性: 值;…