CSS3 3D转换

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子元素开启立体空间
  • 代码写给父级,但是影响的是子盒子

  • 这个属性很重要

posted @   懒惰ing  阅读(265)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示