CSS新特性(3D转换,perspective(透视),transfrom-style(子元素是否开启三维环境))

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;子元素开启立体空间

 代码写给父级,但是影响的是子盒子

原文地址:https://www.cnblogs.com/qtbb/p/11753737.html