编辑这个页面须要登录或更高权限!

CSS3 animation-timing-function 属性使用方法及示例

CSS3 animation-timing-function属性指定CSS动画在每个周期的持续时间内应如何进行。

下表总结了此属性的用法上下文和版本历史记录。

默认值:ease
适用于:所有元素::before和::after 伪元素
继承:没有
可动画制作:否。请参见 动画属性
版本: CSS3的新功能
JavaScript 语法:    
object    object.style.animationTimingFunction="linear"

animation-timing-function的使用语法

该属性的语法如下:

animation-timing-function: linear | ease | ease-in | ease-out | ease-in-out | cubic-bezier(n,n,n,n) | initial | inherit

下面的示例演示了如何使用animation-timing-function属性。

.box {
    width: 50px;
    height: 50px;
    background: red;
    position: relative;
    /* Chrome, Safari, Opera */
    -webkit-animation-name: moveit;
    -webkit-animation-duration: 2s;
    -webkit-animation-timing-function: ease-in;
    
    animation-name: moveit;
    animation-duration: 2s;
    animation-timing-function: ease-in;
}
 
/* Chrome, Safari, Opera */
@-webkit-keyframes moveit {
    from {left: 0;}
    to {left: 50%;}
}
 

@keyframes moveit {
    from {left: 0;}
    to {left: 50%;}
}
测试看看‹/›

属性值

下表描述了此属性的值。

描述
linear指定动画以恒定速度从其初始状态进入其最终状态。
ease与渐入渐出相似,尽管它在开始时加速更快,并且在中间附近已经开始减速。
ease-in指定动画开始缓慢,然后逐渐加速直到达到最终状态并且动画突然停止。
ease-out指定动画快速启动,然后在接近其最终状态时逐渐变慢。
ease-in-out指定动画在接近其最终状态时开始缓慢,加速然后减速。
cubic-bezier(n,n,n,n)定义三次贝塞尔曲线。也称为速度曲线。可能的值为0到1之间的数值。
initial将此属性设置为其默认值。
inherit如果指定,则关联元素采用其父元素animation-timing-function属性的计算值。

浏览器兼容性

animation-timing-function属性浏览器的兼容性,所有主流浏览器均支持该属性。

浏览器图标
  • Firefox 5+ -moz-,15 +

  • Google Chrome 4+ -webkit-

  • Internet Explorer 10+

  • Apple Safari 4+ -webkit-

  • Opera 12+ -o-,15+ -webkit-

进一步阅读

请参考以下教程:CSS3动画

相关属性和规则:animationanimation-nameanimation-durationanimation-delayanimation-iteration-countanimation-directionanimation-fill-modeanimation-play-state@keyframes

CSS 参考手册
CSS @规则(RULES)
CSS 属性大全