本页目录:
怎么使用
CSS3新增的2D变换属性: 通过 CSS3 转换,我们能够对元素进行移动、缩放、转动、拉长或拉伸。
怎么使用#
__translate()__:设置元素相对于当前的位置。
语法:transform: translate(length,length);
__rotate()__:将元素进行顺时针旋转,旋转中心
transform-origin
进行设置,默认为元素中心
语法:transform: rotate(rot);
__scale()__:使用scale方法来实现文字或图像的缩放处理
语法:transform: scale(times);
__skew()__:使用skew方法来实现文字或图像的倾斜处理,默认坐标中心在元素中心
语法:transform: skew(rot);
__matrix()__:矩阵操作。matrix() 方法可以把所有 2D 转换方法组合在一起
语法:transform: matrix(a,b,c,d,e,f);
- 实际上,这6参数,对应的矩阵如下: 注意书写方向是竖着的
- 进行运算:
坐标就从[x,y]变成了[ax+cy+e,bx+dy+f] - 关于为什么要
3*3
的矩阵?
主要是为了统一用矩阵乘的操作,其实平移只需要2*2
,为了统一利用3*3
乘法变相实现加法(平移)效果。具体思想参考计算机图形学
示例:transform: matrix(1, 0, 0, 1, 30, 30);
根据运算,可以得出此矩阵可以将元素向右下平移[30,30]
- 实际上,这6参数,对应的矩阵如下: 注意书写方向是竖着的
浏览器支持#
Chrome 和 Safari 需要前缀 -webkit-
Internet Explorer 9 需要前缀 -ms-