什么是CSS动画?
CSS动画通过@keyframes
规则实现元素属性的动态变化,常用于创建平滑过渡效果或复杂交互。例如:
- 按钮悬停时的缩放效果
- 图标旋转加载动画
- 元素渐入渐出的淡入淡出效果
📘 扩展学习:想深入了解动画进阶技巧?点击前往 /learn/frontend/css/animation/advanced 探索!
动画核心属性
属性 | 说明 | 示例 |
---|---|---|
animation-name |
指定使用的关键帧规则 | @keyframes bounce |
animation-duration |
动画持续时间 | 2s |
animation-timing-function |
动画速度曲线 | ease-in |
animation-iteration-count |
循环次数 | infinite |
animation-delay |
延迟开始时间 | 1s |
简单示例
@keyframes slideIn {
from { transform: translateX(-100%); }
to { transform: translateX(0); }
}
.box {
animation: slideIn 1s ease-in forwards;
}
✅ 效果预览:尝试在 /learn/frontend/css/animation/demo 查看实时动画演示!
动画最佳实践
- 避免过度使用动画影响用户体验
- 优先使用硬件加速属性(如
transform
、opacity
) - 通过
animation-fill-mode
控制动画结束后状态 - 合理设置动画延迟与持续时间的配合