05 CSS3 3D转换

3D转换

有什么特点?

  • 近大远小
  • 物体后面遮挡不可见
三维坐标系

三维坐标系其实就是指立体空间, 立体空间是由3个轴共同组成的

  • x轴: 水平向右 注意: x右边是正值, 左边是负值
  • y轴: 垂直向下 注意: y下面是正值, 上面是负值
  • z轴: 垂直屏幕 注意: 往外面是正值, 往里面是负值
    >>>>>>>>[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4V3Z87h5-1614063768471)(index_files/45376e12-0456-4049-94d6-dcefd9bfe397.jpg)]
主要知识点
  • 3D位移: translate3d(x, y, z);
  • 3D旋转: rotate3d(x, y, z);
  • 透视: perspective
  • 3D呈现: transfrom-style
3D移动translate3d

3D移动在2D移动的基础上多加了一个可以移动的方向, 就是z轴方向

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

在2D平面产生近大远小视觉立体, 但是只能效果二维的

  • 如果想要在网页产生3D效果需要透视(理解成3D物体投影在2D平面内)

  • 模拟人类的视觉位置, 可认为安排一只眼睛去看

  • 透视我们也称为视距: 视距就是人的眼睛到屏幕的距离

  • 距离视觉点跃进的在电脑平面成像越大,越远成像越小

  • 透视的单位是像素
    >>>>>>[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kkUOsPK2-1614063768475)(index_files/a85f7b1a-1d94-44d8-98ba-5a25b54306e6.jpg)]

  • 透视写在被观察元素的父盒子上面的

  • d: 就是视距, 视距就是一个距离人的眼睛到屏幕的距离

  • z: 就是z轴, 物体距离屏幕的距离, z轴越大(正值)我们看到的物体就越大

3D旋转rotate3d

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

  • transform: rotateX(45deg): 沿着x轴正方向旋转45度

  • transform: rotateY(45deg): 沿着y轴正方向旋转45度

  • transform: rotateZ(45deg): 沿着z轴正方向旋转45度

  • transform: rotate3d(x, y, z, deg): 沿着自定义轴旋转, deg为角度(了解即可)

    xyz是表示旋转轴的矢量, 是表示你是否希望沿着该轴旋转, 最后一个表示旋转的角度

    • transform: rotate3d(1, 0, 0, 45deg) 就是沿着x轴旋45deg
    • transform: rotate3d(1, 1, 0, 45deg) 就是沿着对角线旋转45deg
左手准则
  • 左手的手拇指指向x/y/z轴的正方向
  • 其余手指的弯曲方向就是该元素沿着x/y/z轴旋转的方向(正值)
    >>>>>>>[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jZ3MRYRQ-1614063768477)(index_files/c39d2ff1-fd87-4b9f-8741-1642457c68ea.jpg)]

3D转换

3D呈现transfrom-style

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RWgIkGYW-1614063768480)(index_files/f0332e72-6a15-49c1-902a-443002fd50a7.png)]

  • 控制子元素是否开启三维立体环境
  • transform-style: flat; 子元素不开启3d立体空间 默认的
  • transform-style: preserve-3d; 子元素开启立体空间
  • 代码写给父级, 但是影响的是子盒子
  • 这个属性很重要, 后面必用
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旅泊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值