css3之一transition(過渡動畫)

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

ease
ease in
ease out
ease in out
linear
custom
awesome
相關文章
相關標籤/搜索