CSS animation-timing-function 属性
更多“自己尝试”的例子见下文。
定义和用法
animation-timing-function
属性定义了一个动画的速度曲线。
速度曲线定义了一个动画从一组 CSS 样式改变到另一组 CSS 样式所花费的**时间**。
速度曲线用于平滑地实现更改。
默认值 | ease |
---|---|
继承 | no |
可动画 | 否。 阅读关于可动画属性 |
版本 | CSS3 |
JavaScript 语法 | object.style.animationTimingFunction="linear" 尝试一下 |
浏览器支持
表中的数字指定了完全支持该属性的第一个浏览器版本。
属性 | |||||
---|---|---|---|---|---|
animation-timing-function | 43 | 10 | 16 | 9 | 30 |
CSS 语法
animation-timing-function: linear|ease|ease-in|ease-out|ease-in-out|step-start|step-end|steps(int,start|end)|cubic-bezier(n,n,n,n)|initial|inherit;
animation-timing-function
使用一个称为三次贝塞尔曲线的数学函数来创建速度曲线。您可以在此函数中使用自己的值,也可以使用预定义值之一。
属性值
值 | 描述 | 演示 |
---|---|---|
linear | 动画从开始到结束的速度都相同 | 试一试 » |
ease | 默认值。动画开始时速度慢,然后加速,最后变慢 | 试一试 » |
ease-in | 动画开始时速度慢 | 试一试 » |
ease-out | 动画结束时速度慢 | 试一试 » |
ease-in-out | 动画开始和结束时速度都慢 | 试一试 » |
step-start | 等同于 steps(1, start) | |
step-end | 等同于 steps(1, end) | |
steps(int,start|end) | 指定一个步进函数,有两个参数。第一个参数指定函数中的间隔数。它必须是一个正整数(大于 0)。第二个参数是可选的,可以是 "start" 或 "end" 值,并指定值在间隔内发生变化的点。如果省略第二个参数,则默认为 "end"。 | |
cubic-bezier(n,n,n,n) | 在 cubic-bezier 函数中定义您自己的值 可能的值是 0 到 1 之间的数字 |
|
initial | 将此属性设置为其默认值。阅读关于initial | |
inherit | 从其父元素继承此属性。阅读关于inherit |
提示:在下面的“更多示例”部分尝试不同的值。
更多示例
示例
为了更好地理解不同的 timing function 值;
以下是五个不同的 <div> 元素,具有五个不同的值
#div1 {animation-timing-function: linear;}
#div2 {animation-timing-function: ease;}
#div3 {animation-timing-function: ease-in;}
#div4 {animation-timing-function: ease-out;}
#div5 {animation-timing-function: ease-in-out;}
自己动手试一试 »
示例
与上面的示例相同,但速度曲线使用 cubic-bezier 函数定义
#div1 {animation-timing-function: cubic-bezier(0,0,1,1);}
#div2 {animation-timing-function: cubic-bezier(0.25,0.1,0.25,1);}
#div3 {animation-timing-function: cubic-bezier(0.42,0,1,1);}
#div4 {animation-timing-function: cubic-bezier(0,0,0.58,1);}
#div5 {animation-timing-function: cubic-bezier(0.42,0,0.58,1);}
自己动手试一试 »
相关页面
CSS 教程:CSS 动画
HTML DOM 参考:animationTimingFunction 属性