首页 > Web开发 > 详细

CSS3 3D转换

时间:2020-03-10 20:58:57      阅读:54      评论:0      收藏:0      [点我收藏+]

CSS3 3D转换

  • 3D转换我们工作中最常用的是3D位移和3D旋转

  • 主要知识点
    • 3D位移translate3d(x,y,z)
    • 3D旋转rotate3d(x,y,z)
    • 透视perspective
    • 3D呈现transfrom-style

3D位移translate3d(x,y,z)

  • translateX(x,y,z)仅仅在X轴上移动
  • translateY(x,y,z)仅仅在Y轴上移动
  • translateZ(x,y,z)仅仅是在Z轴上移动
    • 注意:translateZ一般用px单位
  • translate3d(x,y,z)其中x,y,z分别指要移动的轴的方向和距离
    • x,y,z是不能省略的,没有写0

透视perspective

  • 在2D平面产生近大远小视觉立体,但是只是效果二维
    • 如果想要在网页产生3D效果需要透视(理解成3D物体投影在2D平面内)
    • 模拟人类的视觉位置,可认为安排一只眼睛去眼
    • 透视视觉点越近的在电脑平面成像越大,越远成像越小
    • 距离视觉点越近的在电脑平面成像越大,越远成像越小
    • 透视的单位是像素

    技术分享图片

  • 透视写在被观察元素的父盒子上面
    • d:就是视距,视距就是一个距离人的眼睛到屏幕的距离
    • z:就是Z轴,物体距离屏幕的距离,Z轴越大(正值)我们看到的物体就越大

3D旋转rotate3d(x,y,z)

  • 3D旋转指可以让元素在三维平面内沿着x轴,y轴,z轴或者自定义轴进行旋转

  • 语法
    • transform:rotateX(45deg)沿着X轴正方向旋转45deg(度)
    • transform:rotateY(45deg)沿着Y轴正方向旋转45deg(度)
    • transform:rotateZ(45deg)沿着Z轴正方向旋转45deg(度)
    • transform:rotate3d(x,y,z,deg)沿着自定义轴旋转deg为角度(了解即可)
      • xyz是表示旋转轴的矢量,是标示你是否希望沿着该轴旋转,最后一个标示旋转的角度
      • transform:rotate3d(1,0,0,45deg)就是沿着X轴旋转45deg
      • transform:rotate3d(1,1,0,45deg)就是沿着对角线旋转45deg

左手准则

  • 对于元素的旋转的方向的判断我们需要学习一个左手准则
    • 左手的手拇指指向X轴的正方向
    • 其余手指的弯曲方向就是该元素沿着X轴旋转的方向

    技术分享图片

    • 左手的手拇指指向Y轴的正方向
    • 其余手指的弯曲方向就是该元素沿着Y轴旋转的方向

    技术分享图片

3D呈现transfrom-style

  • 控制子元素是否开启三维立体环境
    • transfrom-style:flat子元素不开启3d立体空间,默认的
    • transfrom-style:preserve-3d子元素开启立体空间
  • 代码写给父级,但是影响的是子盒子
  • 这个属性很重要

CSS3 3D转换

原文:https://www.cnblogs.com/landuo629/p/12458283.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!