1.版本兼容性问题:
Internet Explorer 10, Firefox, 和 Opera支持transform 属性.
Chrome 和 Safari 要求前缀 -webkit- 版本.
注意: Internet Explorer 9 要求前缀 -ms- 版本.
2. 2D变换方法
- translate()
- rotate()
- scale()
- skew()
- matrix()
3. 实例
实例
div
{
transform:
rotate
(
30
deg
)
;-
ms-transform:
rotate
(
30
deg
)
;
/*
IE 9
*/
-
webkit-transform:
rotate
(
30
deg
)
;
/*
Safari and Chrome
*/
}
尝试一下 »
translate() 方法
![Translate](https://i-blog.csdnimg.cn/blog_migrate/4fbd35157a8bcd3beefa42ddaf98d46b.gif)
translate()方法,根据左(X轴)和顶部(Y轴)位置给定的参数,从当前元素位置移动。
![Opera Opera](https://i-blog.csdnimg.cn/blog_migrate/4d0a7cddd5a4535af521bd1eaf2579ea.gif)
![Safari Safari](https://i-blog.csdnimg.cn/blog_migrate/25e2d1c6c9547d48eb9d1558a7db2175.gif)
![Chrome Chrome](https://i-blog.csdnimg.cn/blog_migrate/fca46c003bf1d224d162efd747b370cd.gif)
![Firefox Firefox](https://i-blog.csdnimg.cn/blog_migrate/eb33d2c4693938a6dc07a47f11e5533c.gif)
![Internet Explorer Internet Explorer](https://i-blog.csdnimg.cn/blog_migrate/6fd4d3e0df956019ca1eea8b176136e8.gif)
实例
div
{
transform:
translate
(
50
px
,
100
px
)
;-
ms-transform:
translate
(
50
px
,
100
px
)
;
/*
IE 9
*/
-
webkit-transform:
translate
(
50
px
,
100
px
)
;
/*
Safari and Chrome
*/
}
尝试一下 »
translate值(50px,100px)是从左边元素移动50个像素,并从顶部移动100像素。
rotate() 方法
![Rotate](https://i-blog.csdnimg.cn/blog_migrate/c387e5fbb00db9c2fce40d60b19228a8.gif)
rotate()方法,在一个给定度数顺时针旋转的元素。负值是允许的,这样是元素逆时针旋转。
![Opera Opera](https://i-blog.csdnimg.cn/blog_migrate/4d0a7cddd5a4535af521bd1eaf2579ea.gif)
![Safari Safari](https://i-blog.csdnimg.cn/blog_migrate/25e2d1c6c9547d48eb9d1558a7db2175.gif)
![Chrome Chrome](https://i-blog.csdnimg.cn/blog_migrate/fca46c003bf1d224d162efd747b370cd.gif)
![Firefox Firefox](https://i-blog.csdnimg.cn/blog_migrate/eb33d2c4693938a6dc07a47f11e5533c.gif)
![Internet Explorer Internet Explorer](https://i-blog.csdnimg.cn/blog_migrate/6fd4d3e0df956019ca1eea8b176136e8.gif)
实例
div
{
transform:
rotate
(
30
deg
)
;-
ms-transform:
rotate
(
30
deg
)
;
/*
IE 9
*/
-
webkit-transform:
rotate
(
30
deg
)
;
/*
Safari and Chrome
*/
}
尝试一下 »
rotate值(30deg)元素顺时针旋转30度。
scale() 方法
![Scale](https://i-blog.csdnimg.cn/blog_migrate/ce188aef751545f05995285da7b7f3e0.gif)
scale()方法,该元素增加或减少的大小,取决于宽度(X轴)和高度(Y轴)的参数:
![Opera Opera](https://i-blog.csdnimg.cn/blog_migrate/4d0a7cddd5a4535af521bd1eaf2579ea.gif)
![Safari Safari](https://i-blog.csdnimg.cn/blog_migrate/25e2d1c6c9547d48eb9d1558a7db2175.gif)
![Chrome Chrome](https://i-blog.csdnimg.cn/blog_migrate/fca46c003bf1d224d162efd747b370cd.gif)
![Firefox Firefox](https://i-blog.csdnimg.cn/blog_migrate/eb33d2c4693938a6dc07a47f11e5533c.gif)
![Internet Explorer Internet Explorer](https://i-blog.csdnimg.cn/blog_migrate/6fd4d3e0df956019ca1eea8b176136e8.gif)
实例
-ms-transform:
scale
(2,3);
/*
IE 9
*/
-webkit-transform:
scale
(2,3);
/*
Safari
*/
transform:
scale
(2,3);
/*
标准语法
*/
尝试一下 »
scale(2,3)转变宽度为原来的大小的2倍,和其原始大小3倍的高度。
skew() 方法
语法
transform:skew(<angle> [,<angle>]);
包含两个参数值,分别表示X轴和Y轴倾斜的角度,如果第二个参数为空,则默认为0,参数为负表示向相反方向倾斜。
- skewX(<angle>);表示只在X轴(水平方向)倾斜。
- skewY(<angle>);表示只在Y轴(垂直方向)倾斜。
![Opera Opera](https://i-blog.csdnimg.cn/blog_migrate/4d0a7cddd5a4535af521bd1eaf2579ea.gif)
![Safari Safari](https://i-blog.csdnimg.cn/blog_migrate/25e2d1c6c9547d48eb9d1558a7db2175.gif)
![Chrome Chrome](https://i-blog.csdnimg.cn/blog_migrate/fca46c003bf1d224d162efd747b370cd.gif)
![Firefox Firefox](https://i-blog.csdnimg.cn/blog_migrate/eb33d2c4693938a6dc07a47f11e5533c.gif)
![Internet Explorer Internet Explorer](https://i-blog.csdnimg.cn/blog_migrate/6fd4d3e0df956019ca1eea8b176136e8.gif)
实例
div
{
transform:
skew
(
30
deg
,
20
deg
)
;-
ms-transform:
skew
(
30
deg
,
20
deg
)
;
/*
IE 9
*/
-
webkit-transform:
skew
(
30
deg
,
20
deg
)
;
/*
Safari and Chrome
*/
}
尝试一下 »
skew(30deg,20deg) 元素在X轴和Y轴上倾斜20度30度。
4. transition: 属性值 时间 速度 延迟时间;