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:以哪一種速度曲線來運動