css3—3D变换
1、3维坐标系
x y z 的方向:
2、3d移动 translate3d
1.transform:translateX(npx);在x轴方向移动
2.transform:translateY(npx); 在y轴方向移动
3.transform:translateZ(npx); 在Z轴方向移动
4.transform:translate3d(x,y,z);综合写法
3、视距perspective
给元素添加3D效果,要给其父元素添加3D效果
视距:眼睛到屏幕的距离。视距与物体的大小关系成反比(近大远小)
translatrZ:物体距离屏幕的距离,z轴距离与物体的大小关系成正比(近大远小,translateZ变大,物体离眼睛越近,物体越大)
- 设置物体的
translateZ
一般大于 0 如transform:translateZ(100px)
- 设置 人和物体的距离 ( 视距) 这个值规定要设置给物体的父元素
perspertive:npx
- 动态改变物体的
translateZ
即可观察效果
4、3d呈现 transform-style
perspective是开启3D效果,transform-style: preserve-3d是保持3D效果
控制子元素是否开启三维立体环境
把transform-style:preserve-3d写给父元素;
transform-style:flat 子元素不开启3d立体环境 默认值;
trasform-style:preserve-3d 子元素开启立体空间 保持立体环境;
5、3D旋转rotate3d
3d旋转可以让元素在3维平面沿着x轴,y轴,z轴或者自定义的轴进行旋转
transform:rotateX(45deg):沿着x轴正方向旋转 45度
transform:rotateY(45deg) :沿着y轴正方向旋转 45deg
transform:rotateZ(45deg) :沿着Z轴正方向旋转 45deg
transform:rotate3d(x,y,z,deg): 沿着自定义轴旋转 deg为角度
左手准则:
1.左手拇指指向x轴的正方向,其余手指弯曲方向就是该元素沿着x轴旋转的方向
2.左手拇指指向y轴的正方向,其余手指弯曲方向就是该元素沿着y轴旋转的方向
3.左手拇指指向z轴的正方向,其余手指弯曲方向就是该元素沿着z轴旋转的方向
rotate3d–自定义:transform:rotate3d(x,y,z,deg): 沿着自定义轴旋转 deg为角度