1. 三维坐标系(里面的值不能省略,没有就写 0 )
x 轴:水平向右 注意:x 右边是正值,左边是负值
y轴: 垂直向下 注意:y 下面是正值,上面是负值
z轴:垂直屏幕 注意: 往外面是正值,往里面是负值
主要知识点:
3D位移:translate3d(x,y,z)
3D旋转:rotate3d(x,y,z)
透视:perspective
3D呈现 transfrom-style
2. 透视(perspective:写在被观察元素的父盒子上)
在 2D 平面产生近大远小视觉立体,但是只是效果二维的,如果想要 3D效果必须 设置透视
1. 如果想要在网页产生 3D 效果 需要透视(理解成 3D 物体投影在 2D 平面内)
2. 模拟人类的视觉位置,可认为安排一只眼睛去看
3. 透视我们也称为视距:视距就是人的眼睛到屏幕的距离
4. 距离视觉点越近的在电脑平面成像越大,越远成像越小
5. 透视的单位是像素
注意:
透视写在被观察元素的父盒子上面
z 轴值越大,我们看到的物体就越大
3. 3D旋转(rotate3d)
语法:
transform:rotateX(45deg); // 沿着 x 轴 正方向旋转 45deg
transform:rotateY(45deg); // 沿着 y 轴正方向旋转 45 deg
transform:rotateZ(45deg); // 沿着 z 轴正方向旋转 45 deg
transform:rotate3d(x,y,z,deg); // 沿着自定义轴旋转 deg 为角度(了解即可)
左手准则(X 轴):左手的大拇指指向(比赞的手势,大拇指指向右) x 轴的正方向,其余手指的弯曲方向就是该元素沿着 x 轴旋转的方向
左手准则(Y 轴):左手的大拇指指向(比赞的手势,大拇指指向下) y 轴的正方向,其余手指的弯曲方向就是该元素沿着 y 轴旋转的方向
3D旋转 rotate3d
transform:rotate3d(x,y,z,deg):沿着自定义轴旋转 deg 为角度,x y z 表示旋转轴的矢量,是标识是否沿该轴旋转,最后一个标示旋转的角度
transform:rotate3d(1,0,0,45deg); // 就是沿着 x 轴旋转45deg
transform:rotate3d(1,1,0,45deg); // 就是沿着对角线旋转45deg
4. 3D 呈现 transfrom-style
控制子元素是否开启三维立体环境
transform-style:flat子元素不开启3d立体空间 (默认)
transform-style:preserve-3d;子元素开启立体空间
代码写给父级,但是影响的是子盒子