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
相关文章
相关标签/搜索