CSS transform变形记

还是那句话,能用CSS实现的就不用JS,下面来一起复习一下CSS transform的基础知识(多图)。

transform应用场景:实现文字或图像的旋转、缩放、倾斜、移动这四种类型在2D、3D空间的变形。

浏览器兼容性:
在这里插入图片描述

transform基础(实例运行于chrome浏览器之上,未考虑兼容)。

1、2D变换

1.1 旋转: transform:rotate(deg) //(默认旋转点是元素中心点50% 50% 0),由下面实例可见roateX()效果类似于缩放,同理rotateY()。
在这里插入图片描述

1.2 扭曲:transform:skew(30deg, 80deg) //正值顺时针,负值逆时针
在这里插入图片描述

1.3 缩放:transform:scale(-2.0) //负值表示先反转再缩放
在这里插入图片描述

1.4 位移:transform:translate(200px, 100px) //始终相对于元素正中心(50% 50% 0)移动
在这里插入图片描述

1.5 矩阵matrix(线性代数矩阵相乘)

2、3D变换
2.1 translate3d位移
在这里插入图片描述

2.2 scale3d
2.3 rotate3d
2.4 translate3d
2.5 matrix3d

3、前置属性(常用于3d变换)
3.1 transform-origin:
指定元素变形的中心点(50% 50% 0)(XYZ轴的正向分别指往右往下靠近用户眼镜的方向)。
注:2D空间中的X-offset与Y-offset可以设px,也可以设百分比。还可以设置为top/right/bottom/left/center等。3D空 间中的Z-offset只能设px。
在这里插入图片描述

3.2 transform-style:
用于指定舞台(即变形元素的父元素)为2D或3D,值分别为flat和preserve-3d,默认为flat。
注:如果同时设置了transform-style: preserve-3d和overflow: hidden, 3D效果将失效。因为overflow: hidden 会将所有元素flatten。

3.3 perspective:
视距,指屏幕距离用户眼镜的距离,默认为none,只能设置px。
注:值越小表示用户眼睛距离屏幕越近,相当于创建一个较大的3D舞台。反之,值越大表示用户眼睛距离屏幕越远,相当于创建一个较小的3D舞台。这很容易理解,离的越近东西看起来越大,离的越远东西看起来越小。

3.4 backface-visibility:
是否可以看见3D舞台背面,默认值visible表示背面可见,可以设成hidden让背面不可见,多用于图片旋转场合。

层级关系:设置了transform的元素与absolute/relative/fixed同级,请用z-index设置覆盖关系。

下面是一个利用transform+transition实现的旋转正方体,那么问题来了,你可以独立实现这份小作业嘛?
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值