transition-timing-function
语法
- transition-timing-function:<single-transition-timing-function>[,<single-transition-timing-function>]*
- <single-transition-timing-function> = ease | linear | ease-in | ease-out | ease-in-out | step-start | step-end | steps(<integer>[, [ start | end ] ]?) | cubic-bezier(<number>, <number>, <number>, <number>)
- 默认值:ease
- 适用于:所有元素,包含伪对象:after和:before
- 继承性:无
- 动画性:否
- 计算值:指定值
- 媒体:交互
取值
- linear:线性过渡。等同于贝塞尔曲线(0.0, 0.0, 1.0, 1.0)
- ease:平滑过渡。等同于贝塞尔曲线(0.25, 0.1, 0.25, 1.0)
- ease-in:由慢到快。等同于贝塞尔曲线(0.42, 0, 1.0, 1.0)
- ease-out:由快到慢。等同于贝塞尔曲线(0, 0, 0.58, 1.0)
- ease-in-out:由慢到快再到慢。等同于贝塞尔曲线(0.42, 0, 0.58, 1.0)
- step-start:等同于 steps(1, start)
- step-end:等同于 steps(1, end)
- steps(<integer>[, [ start | end ] ]?):接受两个参数的步进函数。第一个参数必须为正整数,指定函数的步数。第二个参数取值可以是start或end,指定每一步的值发生变化的时间点。第二个参数是可选的,默认值为end。
- cubic-bezier(<number>, <number>, <number>, <number>):特定的贝塞尔曲线类型,4个数值需在[0, 1]区间内
说明
检索或设置对象中过渡的动画类型。
- 如果提供多个属性值,以逗号进行分隔。
- 对应的脚本特性为transitionTimingFunction。
兼容性
Values | IE | Firefox | Chrome | Safari | Opera | iOS Safari | Android Browser | Android Chrome |
---|---|---|---|---|---|---|---|---|
Basic Support | 6.0-9.0 | 2.0-3.6 | 4.0-25.0-webkit- | 6.0-webkit- | 15.0+ | 6.0-6.1-webkit- | 2.1-4.3-webkit- | 18.0-24.0-webkit- |
10.0+ | 4.0-15.0-moz- | 26.0+ | 6.1+ | 7.0+ | 4.4.4+ | 25.0+ | ||
16.0+ |
示例
<!DOCTYPE html>
<html lang="zh-cmn-Hans">
<head>
<style>
h1{font-size:16px;}
.test{overflow:hidden;width:100%;margin:0;padding:0;list-style:none;}
.test li{position:relative;left:8px;width:220px;height:100px;margin:1px 5px;padding:10px;border:1px solid #ddd;background-color:#eee;color:#000;
-webkit-transition-duration:.5s;
-moz-transition-duration:.5s;
transition-duration:.5s;
-webkit-transition-property:left;
-moz-transition-property:left;
transition-property:left;
}
.test li:nth-child(1){
-webkit-transition-timing-function:linear;
-moz-transition-timing-function:linear;
transition-timing-function:linear;
}
.test li:nth-child(2){
-webkit-transition-timing-function:ease;
-moz-transition-timing-function:ease;
transition-timing-function:ease;
}
.test li:nth-child(3){
-webkit-transition-timing-function:ease-in;
-moz-transition-timing-function:ease-in;
transition-timing-function:ease-in;
}
.test li:nth-child(4){
-webkit-transition-timing-function:ease-out;
-moz-transition-timing-function:ease-out;
transition-timing-function:ease-out;
}
.test li:nth-child(5){
-webkit-transition-timing-function:ease-in-out;
-moz-transition-timing-function:ease-in-out;
transition-timing-function:ease-in-out;
}
.test li:hover{left:100px;}
</style>
</head>
<body>
<h1>请将鼠标移动到下面的矩形上:</h1>
<ul class="test">
<li>linear: 线性过渡</li>
<li>ease: 平滑过渡</li>
<li>ease-in: 由慢到快</li>
<li>ease-out: 由快到慢</li>
<li>ease-in-out: 由慢到快再到慢</li>
</ul>
</body>
</html>