首页 > 代码库 > 7月24号=》266页-270页

7月24号=》266页-270页

12.2  CSS3提供的Transition动画

    CSS3提供了Transition动画支持,Transition动画可以控制HTML组件的某个

      属性发生改变时会经历一段时间、以平滑渐变的方式发生改变,这就产生了动画效果。

    Transition动画通过transition属性来指定。transiton属性的值包括如下4个部分。

      Transition-property:指定对HTML元素的哪个CSS属性进行平滑渐变处理。该

                   属性可以指定background-color、width、height等各种

                 标准的CSS属性。

      Transition-duration:指定属性平滑渐变的持续时间。

      Transition-timing-function:指定渐变的速度。该部分支持如下几个值。

        ease:动画开始时较慢,然后速度加快,该部分支持如下几个值。

        linear:线性速度。动画开始时的速度到结束时的速度保持不变。

        ease-in:动画开始时速度较慢,然后速度加快。

        ease-out:动画开始时速度很快,然后速度减慢。

        ease-in-out:动画开始时速度慢,然后速度加快,到达最大速度后再减慢速度。

        cubic-bezier(x1,y1,x2,y2):通过贝济埃曲线来控制动画的速度。该属性值完

                      全可以代替ease、linear、ease-in、ease-out、

                      等属性值。

      transition-delay:指定延迟时间,也就是指定经过多长时间的延迟才会开始执行平滑渐变。

      

      代码示范:

        //设置当该元素背景色改变时执行渐变效果

        div{

          width:100px;

          height:100px;

          border:1px solid;

          transition:background-color 4s linear;

        }

        //设置鼠标移到该元素上时改变该元素的背景色

        div:hover{

              background-color:yellow;

        }

 

      如要设置多种渐变效果,则用,号隔开。

      代码示范:

        //设置当该元素的left属性与top属性改变时执行渐变效果

        #div1{

          width:100px;

          height:100px;

          border:1px solid;

          transition:left 5s linear,top 5s linear;

        }

        javascript代码:

        //为鼠标按下事件绑定监听器

          //获取执行渐变效果的元素          

          var itemDiv = document.getElementById("div1");

          //记录div1元素的left属性。

          itemDiv.style.left = "0px";

          //记录div1元素的top属性。

          itemDiv.style.top = "0px";

          document.onmousedown = function(evt){

            //将当前鼠标按下时的x坐标赋给div1元素的left属性改变其属性值与位置

            target.style.left = evt.pageX + "px";

            //将当前鼠标按下时的y坐标赋给div1元素的top属性改变其属性值与位置

            target.style.top = evt.pageX + "px";

          }