使用方法:
transition: all 0.4s cubic-bezier(0.4,0.1,0.5,1) 0.1s; <transition-property> <transition-duration> <transition-timing-function> <transition-delay>
/*动画变化的属性,取值可[单个属性],[多个属性,以逗号分开],[all指定所有属性]*/ transition-property: width,height,background-color,border,line-height;
/*过渡效果需要花费的时间*/ transition-duration: 0.4s;
/*定义过渡效果何时开始*,延迟的时间/ transition-delay:0.1s;
/*属性规定过渡效果的速度曲线:允许过渡效果随着时间来改变其速度,开始和结束的速度曲线相反*/ transition-timing-function:linear|ease|ease-in|ease-out|ease-in-out|cubic-bezier(n,n,n,n); linear 规定以相同速度开始至结束的过渡效果(等于 cubic-bezier(0,0,1,1))。 ease 规定慢速开始,然后变快,然后慢速结束的过渡效果(cubic-bezier(0.25,0.1,0.25,1))。 ease-in 规定以慢速开始的过渡效果(等于 cubic-bezier(0.42,0,1,1))。 ease-out 规定以慢速结束的过渡效果(等于 cubic-bezier(0,0,0.58,1))。 ease-in-out 规定以慢速开始和结束的过渡效果(等于 cubic-bezier(0.42,0,0.58,1))。 cubic-bezier(n,n,n,n) 在 cubic-bezier 函数中定义自己的值。可能的值是 0 至 1 之间的数值。
.mix1,.mix2,.mix3,.mix4,.mix5,.mix6{ width: 150px; height: 30px; line-height: 30px; vertical-align: middle; color: #fff; transition-property:width; transition-duration: 1s; background: #ff7d27; border-radius: 5px; padding-left: 10px; } .mix1{ transition-timing-function:linear; } .mix2{ transition-timing-function:ease; } .mix3{ transition-timing-function:ease-in; } .mix4{ transition-timing-function:ease-out; } .mix5{ transition-timing-function:ease-in-out; } .mix6{ width: 200px; transition-timing-function:cubic-bezier(0.9,0.1,0.9,1); } .mix7{ width: 150px; height: 30px; line-height: 30px; vertical-align: middle; color: #fff; background: #ff7d27; border-radius: 5px; padding-left: 10px; } .mix1:hover,.mix2:hover,.mix3:hover,.mix4:hover,.mix5:hover,.mix6:hover,.mix7:hover{ width: 600px; }
/*放大、旋转*/ transform : rotate(360deg) scale(1.2);
使用方法:
// Chrome:webkitTransitionEnd // Opera:10.5->oTransitionEnd,12->otransitionend,12.10->transitionend // Safari:webkitTransitionEnd // Android: webkitTransitionEnd // Opera Mobile:10->oTransitionEnd,12->otransitionend,12.10->transitionend // Safari Mobile:webkitTransitionEnd $("#mix").one("webkitTransitionEnd",function(){ console.log('webkitTransitionEnd'); });