css3 动画

  css3中的transform中有以下四种动画:rotate(旋转函数) 、skew(扭曲函数) 、scale(缩放函数) 、translate(位移函数)旋转函数rotate()

  • 旋转函数rotate()

  旋转rotate()函数通过指定的角度参数使元素相对原点进行旋转。它主要在二维空间内进行操作,设置一个角度值,用来指定旋转的幅度。如果这个值为正值,元素相对原点中心顺时针旋转;如果这个值为负值,元素相对原点中心逆时针旋转

  

div
{
transform:rotate(7deg);
-ms-transform:rotate(7deg); 	/* IE 9 */
-moz-transform:rotate(7deg); 	/* Firefox */
-webkit-transform:rotate(7deg); /* Safari 和 Chrome */
-o-transform:rotate(7deg); 	/* Opera */
}
  • 扭曲函数skew()

  扭曲skew()函数能够让元素倾斜显示。它可以将一个对象以其中心位置围绕着X轴和Y轴按照一定的角度倾斜。这与rotate()函数的旋转不同,rotate()函数只是旋转,而不会改变元素的形状。skew()函数不会旋转,而只会改变元素的形状。

  

skew(x,y)         /*同时改变x轴和y轴*/
skewX(x)          /*改变x轴*/
skewY(y)          /*改变y轴*/

-webkit-transform:skew(-45deg,45deg);
-moz-transform:skew(-45deg,45deg);
-ms-transform:skew(-45deg,45deg);
-o-transform:skew(-45deg,45deg);
transform:skew(-45deg,45deg);
  • 缩放函数scale()

  1、scale(X,Y)使元素水平方向和垂直方向同时缩放(也就是X轴和Y轴同时缩放)

  2、scaleX(x)元素仅水平方向缩放(X轴缩放)

  3、scaleY(y)元素仅垂直方向缩放(Y轴缩放)

scale(x,y)         /*同时改变x轴和y轴*/
scaleX(x)          /*改变x轴*/
scaleY(y)          /*改变y轴*/

-webkit-transform:scale(1.5,1.5);
-moz-transform:scale(1.5,1.5);
-ms-transform:scale(1.5,1.5);
-o-transform:scale(1.5,1.5);
transform:scale(1.5,1.5);
  • 位移translate()

  1、translate(x,y)水平方向和垂直方向同时移动(也就是X轴和Y轴同时移动)

  2、translateX(x)仅水平方向移动(X轴移动)

  3、translateY(Y)仅垂直方向移动(Y轴移动)

translate(x,y)         /*同时改变x轴和y轴*/
translateX(x)          /*改变x轴*/
translateY(y)          /*改变y轴*/

-webkit-transform:translate(-45px,45px);
-moz-transform:translate(-45px,45px);
-ms-transform:translate(-45px,45px);
-o-transform:translate(-45px,45px);
transform:translate(-45px,45px);
  • 原点transform-origin

  在没有重置transform-origin改变元素原点位置的情况下,CSS变形进行的旋转、位移、缩放,扭曲等操作都是以元素自己中心位置进行变形。但很多时候,我们可以通过transform-origin来对元素进行原点位置改变,使元素原点不在元素的中心位置,以达到需要的原点位置

  css3 动画

  • 最后是我github上的一个demo
  • https://github.com/tangqidong/css3/tree/master/transform