7.1 属性 animation-name
CSS动画可以创建动态和平滑的视觉效果,改善用户界面并使其更具交互性。动画属性可以控制动画的各个方面,比如名字、持续时间、timing函数和延迟。现在我们来详细看看这些属性,并展示如何使用它们。
属性 animation-name
定义了将应用于元素的动画名称。名字必须与在 @keyframes
规则中定义的名称相匹配。
语法:
element {
animation-name: animation-name;
}
这里的:
animation-name
: 在@keyframes
中定义的动画名称
例子:
CSS
@keyframes moveRight {
from {
transform: translateX(0);
}
to {
transform: translateX(100px);
}
}
.box {
animation-name: moveRight;
}
代码解释:
@keyframes moveRight
: 定义了一个名为moveRight
的动画,将元素向右移动.box
: 使用了动画moveRight
的元素
7.2 属性 animation-duration
属性 animation-duration
定义了动画的持续时间。值可以用秒(s)或毫秒(ms)表示。
语法:
element {
animation-duration: time;
}
这里的:
time
: 动画的持续时间(例如,2s 表示2秒,500ms 表示500毫秒)。
例子:
CSS
@keyframes moveRight {
from {
transform: translateX(0);
}
to {
transform: translateX(100px);
}
}
.box {
animation-name: moveRight;
animation-duration: 2s;
}
代码解释:
animation-duration: 2s
: 设置动画 moveRight 的持续时间为2秒
7.3 属性 animation-timing-function
属性 animation-timing-function
定义了动画随时间变化的速度。它允许创建各种动画效果,比如加速、减速等。
语法:
element {
animation-timing-function: function;
}
这里的:
-
function
: 定义动画速度变化的timing函数 (例如,ease
,linear
,ease-in
,ease-out
,ease-in-out
)
例子:
CSS
@keyframes moveRight {
from {
transform: translateX(0);
}
to {
transform: translateX(100px);
}
}
.box {
animation-name: moveRight;
animation-duration: 2s;
animation-timing-function: ease-in-out;
}
代码解释:
-
animation-timing-function: ease-in-out
: 为动画moveRight
设置timing函数,使动画从缓慢开始和结束,并在中间加速
主要的timing函数:
ease
: 动画开始缓慢,中间加速,最后减速linear
: 动画从头到尾以恒定速度进行ease-in
: 动画开始缓慢,然后加速ease-out
: 动画开始快速,然后减速ease-in-out
: 动画开始和结束缓慢,中间加速
7.4 属性 animation-delay
属性 animation-delay
定义了动画开始前的延迟。值可以用秒(s)或毫秒(ms)表示。
语法:
element {
animation-delay: time;
}
这里的:
time
: 动画开始前的延迟(例如,1s 表示1秒,500ms 表示500毫秒)
例子:
CSS
@keyframes moveRight {
from {
transform: translateX(0);
}
to {
transform: translateX(100px);
}
}
.box {
animation-name: moveRight;
animation-duration: 2s;
animation-timing-function: ease-in-out;
animation-delay: 1s;
}
代码解释:
animation-delay: 1s
: 设置动画moveRight
开始前的延迟为1秒
GO TO FULL VERSION