CSS3 动画概述
CSS3 动画是通过 CSS3 的新特性来实现元素的动态变化。与传统的 JavaScript 动画不同,CSS3 动画主要通过 CSS 属性的变化来实现动画效果,具有高效、轻量和易于实现的优点。CSS3 动画通常用于网页的动态交互效果、过渡效果、元素移动、缩放、旋转等场景。
一、CSS3 动画是什么?
CSS3 动画包括两部分内容:
-
过渡(Transition):过渡效果用于元素从一种状态变到另一种状态的平滑动画效果。当元素的某些属性发生变化时,CSS 会根据设定的时间和动画曲线函数平滑地过渡到目标状态。
-
关键帧动画(Keyframes Animation):通过定义一系列的关键帧,描述元素的不同状态,并设置动画的持续时间、时序函数等。关键帧动画更为灵活,可以实现更复杂的动画效果,不需要依赖事件触发。
二、CSS3 动画的实现方式
CSS3 动画可以通过两种方式实现:过渡(Transition)和关键帧动画(Keyframes)。
1. 过渡(Transition)
transition
允许我们在某些条件下让元素平滑过渡,从一个状态转换到另一个状态。最常见的过渡效果包括颜色变化、尺寸变化、位置变化等。
基本语法:
selector {transition: property duration timing-function delay;
}
- property:指定要过渡的属性,通常使用
all
代表所有属性,或者指定某一个具体的属性,如background-color
。 - duration:过渡的持续时间,例如
0.5s
(0.5秒)。 - timing-function:过渡的时间函数,控制动画的速度曲线,常见的有
linear
、ease
、ease-in
、ease-out
、ease-in-out
等。 - delay:过渡的延迟时间,表示开始过渡前的等待时间。
示例:按钮的过渡效果
<!DOCTYPE html>
<html lang="en">
<head><meta charset="UTF-8"><meta name="viewport" content="width=device-width, initial-scale=1.0"><title>CSS3 Transition Example</title><style>button {background-color: blue;color: white