transform 变换

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轴之间的刻度变了)


两个scale时

注意:先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的话,人家就不同意你不填了,你三个参数,必须都给我填。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。