通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。
转换是使元素改变形状、尺寸和位置的一种效果。
浏览器支持
Internet Explorer 10、Firefox 以及 Opera 支持 transform 属性。
Chrome 和 Safari 需要前缀 -webkit-。
注释:Internet Explorer 9 需要前缀 -ms-。
2D转换方法有以下几种:
属性名为transform
属性值 | 描述 |
---|---|
translate() | 元素从其当前位置移动,根据给定的 left(x 坐标) 和 top(y 坐标) 位置参数 |
rotate() | 元素顺时针旋转给定的角度。允许负值,元素将逆时针旋转 |
scale() | 元素的尺寸会增加或减少,根据给定的宽度(X 轴)和高度(Y 轴)参数 |
skew() | 元素翻转给定的角度,根据给定的水平线(X 轴)和垂直线(Y 轴)参数 |
matrix() | 方法把所有 2D 转换方法组合在一起[这个方法需要六个参数,包含数学函数,允许您:旋转、缩放、移动以及倾斜元素] |
translate() 方法
div
{
transform: rotate(30deg);
-ms-transform: rotate(30deg); /* IE 9 */
-webkit-transform: rotate(30deg); /* Safari and Chrome */
-o-transform: rotate(30deg); /* Opera */
-moz-transform: rotate(30deg); /* Firefox */
}
/*把元素从左侧移动 50 像素,从顶端移动 100 像素*/
rotate() 方法
div
{
transform: translate(50px,100px);
-ms-transform: translate(50px,100px); /* IE 9 */
-webkit-transform: translate(50px,100px); /* Safari and Chrome */
-o-transform: translate(50px,100px); /* Opera */
-moz-transform: translate(50px,100px); /* Firefox */
}
/*把元素顺时针旋转 30 度*/
scale() 方法
div
{
transform: scale(2,4);
-ms-transform: scale(2,4); /* IE 9 */
-webkit-transform: scale(2,4); /* Safari 和 Chrome */
-o-transform: scale(2,4); /* Opera */
-moz-transform: scale(2,4); /* Firefox */
}
/*把宽度转换为原始尺寸的 2 倍,把高度转换为原始高度的 4 倍*/
skew() 方法
div
{
transform: skew(30deg,20deg);
-ms-transform: skew(30deg,20deg); /* IE 9 */
-webkit-transform: skew(30deg,20deg); /* Safari and Chrome */
-o-transform: skew(30deg,20deg); /* Opera */
-moz-transform: skew(30deg,20deg); /* Firefox */
}
/*围绕 X 轴把元素翻转 30 度,围绕 Y 轴翻转 20 度*/
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 */
-moz-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Firefox */
-webkit-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Safari and Chrome */
-o-transform:matrix(0.866,0.5,-0.5,0.866,0,0); /* Opera */
}
/*使用 matrix 方法将 div 元素旋转 30 度*/
在下一篇文章中我们将分享一下3d旋转的效果,请点击css3 3D转换trabsform