1.transition:过渡动画,支持浏览器:Internet Explorer 十、Firefox、Opera 和 Chromecss
transition是一个复合属性,是由四个过渡属性组成html
1.transition-property:width,height; 规定设置过渡效果的css属性的名称,能够多个属性连写;浏览器
2.transition-duration:1s; 规定完成过渡的时间,必设,不然没有效果 函数
3.transition-timing-function:linear; 速度曲线。
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 之间的数值。动画
4.transition-delay:1s; 什么时候开始。this
以上属性能够用transition:all 1s;来简写,all是全部属性spa
JScode
$(function(){ $("#container").hover(function(){ $(this).addClass("active"); },function(){ $(this).removeClass("active"); }) })
cssorm
#container{height:750px;border:1px solid blue;width:840px;background-color:#fff;margin:0 auto;} div{border-radius:0;background-color:#ddd;text-align:center;line-height:100px;margin:5px;width:100px;height:100px;transform:rotate(0deg);} .div1{border:1px solid red;transition:all 2s ease;} .div2{border:1px solid blue;transition:all 2s ease-in;} .div3{border:1px solid yellow;transition:all 2s ease-out;} .div4{border:1px solid green;transition:all 2s ease-in-out;} .div5{border:1px solid black;transition:all 2s linear;} .div6{border:1px solid #999; transition:all 2s;transition-timing-function: cubic-bezier(0.42,0,0.8,1);} .div7{border:1px solid #999; transition:all 2s;transition-timing-function: cubic-bezier(1.000, -0.530, 0.405, 1.425);} .active .div1{margin-left:730px;border-radius:50px;transform:rotate(360deg);} .active .div2{margin-left:730px;border-radius:50px;transform:rotate(360deg);} .active .div3{margin-left:730px;border-radius:50px;transform:rotate(360deg);} .active .div4{margin-left:730px;border-radius:50px;transform:rotate(360deg);} .active .div5{margin-left:730px;border-radius:50px;transform:rotate(360deg);} .active .div6{margin-left:730px;border-radius:50px;transform:rotate(360deg);} .active .div7{margin-left:730px;border-radius:50px;transform:rotate(360deg);}
htmlhtm
<div id="container"> <div class="div1">ease</div> <div class="div2">ease in</div> <div class="div3">ease out</div> <div class="div4">ease in out</div> <div class="div5">linear</div> <div class="div6">custom</div> <div class="div7">awesome</div> </div>
demo:以哪一种速度曲线来运动