当前位置:首页 > CSS

css制作动画

2026-03-11 17:35:05CSS

CSS 动画基础

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

@keyframes example {
  from {background-color: red;}
  to {background-color: yellow;}
}

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

关键帧定义

@keyframes 规则允许指定动画序列中特定时间点的样式。可以使用百分比或 from/to 关键字。

@keyframes slidein {
  0% { transform: translateX(0); }
  50% { transform: translateX(100px); }
  100% { transform: translateX(0); }
}

动画属性

animation 是以下属性的简写:

  • animation-name: 指定 @keyframes 名称。
  • animation-duration: 动画持续时间(如 2s)。
  • animation-timing-function: 速度曲线(如 ease, linear)。
  • animation-delay: 动画开始前的延迟。
  • animation-iteration-count: 播放次数(如 infinite)。
  • animation-direction: 播放方向(如 alternate)。
  • animation-fill-mode: 动画结束后的样式保留方式。
div {
  animation: slidein 2s ease-out 1s infinite alternate;
}

过渡效果

CSS 过渡(transition)用于在状态变化时平滑过渡,适合简单交互效果。

button {
  background: blue;
  transition: background 0.5s ease;
}
button:hover {
  background: green;
}

性能优化

优先使用 transformopacity 属性,它们可通过 GPU 加速。避免频繁触发重排(如修改 width)。

.box {
  transform: translateZ(0); /* 触发硬件加速 */
}

示例:弹跳动画

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

.ball {
  animation: bounce 0.5s cubic-bezier(0.28, 0.84, 0.42, 1) infinite;
}

响应式动画

结合媒体查询调整动画参数:

css制作动画

@media (max-width: 600px) {
  .box {
    animation-duration: 1s;
  }
}

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

相关文章

如何制作css

如何制作css

创建CSS文件 新建一个纯文本文件,将文件扩展名改为.css,例如style.css。确保文件名不含空格或特殊字符,使用连字符或下划线分隔单词。 编写CSS语法 CSS规则由选择器和声明块组成。选择…

简历制作css

简历制作css

简历制作CSS技巧 使用CSS美化简历可以提升视觉效果和专业性。以下是一些关键方法和代码示例: 基础样式设置 body { font-family: 'Arial', sans-serif;…

vue 实现动画

vue 实现动画

Vue 动画实现方法 Vue 提供了多种方式实现动画效果,包括内置组件、CSS 过渡/动画以及第三方库集成。 使用 <transition> 组件 Vue 内置的 <transit…

css导航栏制作

css导航栏制作

CSS导航栏制作方法 水平导航栏 使用display: inline-block或flexbox实现水平导航栏。设置背景色、内边距和悬停效果增强交互性。 .navbar { backgroun…

css制作时钟

css制作时钟

CSS 制作时钟的方法 使用纯CSS和少量JavaScript可以创建一个动态的时钟。以下是实现步骤: HTML结构 <div class="clock"> <div…

vue动画实现折叠

vue动画实现折叠

使用 Vue Transition 实现折叠动画 在 Vue 中可以通过 <transition> 组件和 CSS 过渡实现折叠效果。核心原理是动态切换元素的 height 属性,配合 o…