当前位置:首页 > CSS

css中制作动画

2026-03-12 05:06:53CSS

CSS动画基础

CSS动画通过@keyframes规则和animation属性实现。定义关键帧后,将动画绑定到元素上。

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

.element {
  animation: slideIn 1s ease-out;
}

关键属性说明

animation是以下子属性的简写:

  • animation-name: 指定@keyframes名称
  • animation-duration: 动画时长(如2s)
  • animation-timing-function: 速度曲线(ease/linear/cubic-bezier)
  • animation-delay: 延迟启动时间
  • animation-iteration-count: 重复次数(infinite表示无限循环)
  • animation-direction: 播放方向(normal/alternate/reverse)
  • animation-fill-mode: 动画结束后样式(forwards/backwards)

多关键帧定义

可以在@keyframes中定义多个中间状态:

css中制作动画

@keyframes pulse {
  0% { transform: scale(1); }
  50% { transform: scale(1.2); }
  100% { transform: scale(1); }
}

性能优化建议

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

  • 使用will-change: transform提前告知浏览器优化
  • 避免动画期间改变width/height等几何属性
  • 硬件加速:使用transform: translateZ(0)

动画事件监听

通过JavaScript监听动画事件:

css中制作动画

element.addEventListener('animationstart', () => {});
element.addEventListener('animationend', () => {});
element.addEventListener('animationiteration', () => {});

实用示例

悬停放大效果:

.button {
  transition: transform 0.3s;
}
.button:hover {
  transform: scale(1.1);
}

无限旋转动画:

@keyframes spin {
  to { transform: rotate(360deg); }
}
.spinner {
  animation: spin 2s linear infinite;
}

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

相关文章

css 制作表格

css 制作表格

基础表格结构 使用HTML的<table>标签创建表格框架,搭配<tr>(行)、<th>(表头)和<td>(单元格)标签。例如: <table&…

css制作导航栏

css制作导航栏

水平导航栏 使用 display: inline-block 或 flexbox 创建水平导航栏。设置背景色、内边距和悬停效果增强交互性。 <nav class="horizontal-nav…

css制作时钟

css制作时钟

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

css怎么制作表单

css怎么制作表单

基础表单结构 使用HTML创建表单元素,搭配CSS进行样式设计。表单通常包含<form>标签及输入控件(如<input>、<textarea>、<select…

css制作卷边效果

css制作卷边效果

使用伪元素和渐变实现卷边效果 通过CSS伪元素和线性渐变可以模拟纸张卷边的视觉效果。这种方法不需要额外元素,仅通过::before或::after伪元素实现。 .element { positi…

css怎么制作个人主页

css怎么制作个人主页

设计布局结构 使用CSS的Flexbox或Grid布局创建响应式结构。Flexbox适合一维排列(如导航栏),Grid适合二维布局(如整体页面分区)。例如: .container { displ…