CSS3 3D转换
CSS3 3D转换
-
3D转换我们工作中最常用的是3D位移和3D旋转
-
主要知识点
- 3D位移
translate3d(x,y,z)
- 3D旋转
rotate3d(x,y,z)
- 透视
perspective
- 3D呈现
transfrom-style
- 3D位移
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轴旋转45degtransform:rotate3d(1,1,0,45deg)
就是沿着对角线旋转45deg
左手准则
-
对于元素的旋转的方向的判断我们需要学习一个左手准则
- 左手的手拇指指向X轴的正方向
- 其余手指的弯曲方向就是该元素沿着X轴旋转的方向
- 左手的手拇指指向Y轴的正方向
- 其余手指的弯曲方向就是该元素沿着Y轴旋转的方向
3D呈现transfrom-style
-
控制子元素是否开启三维立体环境
transfrom-style:flat
子元素不开启3d立体空间,默认的transfrom-style:preserve-3d
子元素开启立体空间
-
代码写给父级,但是影响的是子盒子
-
这个属性很重要
本文来自博客园,作者:懒惰ing,转载请注明原文链接:https://www.cnblogs.com/landuo629/p/12458283.html
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?