一.
transform是变形,css 2D转换,包含以下几种方法:旋转rotate,扭曲skew,缩放scale,移动translate和矩阵变形matrix。
translate():根据x、y轴位置给定的参数,从当前元素位置移动
div
{
transform: translate(50px,100px);
-ms-transform: translate(50px,100px); /* IE 9 */
-webkit-transform: translate(50px,100px); /* Safari and Chrome */
}
rotate():在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。
div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
}
scale():该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:scale(2,4)转变宽度为原来的大小的2倍,和其原始大小4倍的高度。
skew():该元素会根据横向(X轴)和垂直(Y轴)线参数给定角度:skew(30deg,20deg)是绕X轴和Y轴周围20度30度的元素。
matrix():和2D变换方法合并成一个。
matrix 方法有六个参数,包含旋转,缩放,移动(平移)和倾斜功能。
div
{
transform:matrix(0.866,0.5,-0.5,0.866,0,0);
-ms-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* IE 9 */
-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
}
-
3D位移:CSS3中的3D位移主要包括translateZ()和translate3d()两个功能函数;
-
3D旋转:CSS3中的3D旋转主要包括rotateX()、rotateY()、rotateZ()和rotate3d()四个功能函数;
-
3D缩放:CSS3中的3D缩放主要包括scaleZ()和scale3d()两个功能函数;
-
3D矩阵:CSS3中3D变形中和2D变形一样也有一个3D矩阵功能函数matrix3d()。
二.
transition:css3过渡;
用法:div{ transition:要添加效果的属性 指定效果的持续时间 }
要添加多个样式的变换效果,添加的属性由逗号分隔:
div
{
transition: width 2s, height 2s, transform 2s;
-webkit-transition: width 2s, height 2s, -webkit-transform 2s;
}
栗子(典型的例子是结合hover属性):
div
{
100px;
height:100px;
background:red;
transition:width 1s linear 2s;
/* Safari */
-webkit-transition:width 1s linear 2s;
}
div:hover
{
200px;
}