Transform 其实就是指拉伸,压缩,旋转,偏移等等一些图形学里面的基本变换
“skew”是倾斜,“scale”是缩放,“rotate”是旋转,“translate”是平移。(支持综合变换)
坐标系 是按照左上角为坐标原点
Skew 倾斜
skew(0,30deg);元素是按照水平方向y轴顺时针旋转30度 或者skewY(30deg)
skew(30deg,0);元素是按照垂直方向X轴逆时针旋转30度 或者skewX(30deg)
scale 缩放 >1 放大 <1 缩小 默认值是 1;
scale(2)等于scale(2,2) 也等同于scaleX(2) scaleY(2); 2d缩放
(当元素进行缩放的时候 视觉效果上市元素宽高比例变了 查看盒模型发现元素的宽高并没有改变 其实只是x与y轴之间的刻度变了)
注意:先rotate,再scale(先旋转,后缩放) 是会把效果带上旋转的,但是 先scale 再rotate(先缩放,后旋转) 是不会把缩放的效果带上旋转的,缩放的效果,会留在原地,等你经过的时候,就会生效。缩放的比例,会留在原地,经过的时候,就会恢复比例。
scaleZ()设置 Z 轴的值来定义 3D 缩放转换
scale3d(x,y,z) 定义 3D 缩放转换
rotate 旋转 要配合transform-origin(设置旋转点 没有的话 默认元素center center中心原点 例transform-origiin:0 0; 左上角原点)
rotate、rotateX、 rotateY、 ratateZ 、
rotate3d(x,y,z,angle) 前三个值,设置的是矢量的方向,填什么无所谓,主要是比值很重要。举个例子 1,1,0,0deg 那么就是 1:1:0 = 100:100:0 对吧,拿这个值来图解比较好。
translate 平移
translate()、
translateX() 向X轴平移,填正数往右平移,填负数,往左平移
translateY()向Y轴平移,填正数往下平移,填负数,往上平移
translateZ()你现在和电脑屏幕的距离,这就是Z轴的距离,电脑屏幕离你越近,那么translateZ() 里面的值 越大, 电脑屏幕离你越远, translateZ() 的值就越小。 所以说,Z 增加,那么这个电脑屏幕,离你就越近 (rotate后 就能看到z轴的变化)
translate3d()
translate() 和 translate3d():
translate 是同时设置 translateX 和 translateY, 所以里面可以填两个参数, 第一个值 X 第二个 Y
translate3d 是同时设置 translateX ,translateY 和 translateZ 所以里面可以填三个参数
只不过有点不同的是, translate 如果第二个参数不填的话,默认是0, 不过translate3d的话,人家就不同意你不填了,你三个参数,必须都给我填。