首页 >web前端 >前端问答 >css3中的3维平面z轴有负值吗

css3中的3维平面z轴有负值吗

WBOY
WBOY原创
2022-04-11 18:04:201696浏览

css3中的3维平面z轴有负值。3维坐标系中z轴往屏幕外面是数值为正,往屏幕里面数值为负值;当translate3D属性值中z轴为负值时,元素向屏幕内位移,语法为“transform:translate3d(x,y,z)”。

css3中的3维平面z轴有负值吗

本教程操作环境:windows10系统、CSS3&&HTML5版、Dell G3电脑。

css3中的3维平面z轴有负值吗

css3中的3维平面z轴有负值

三维坐标系就是指立体空间,空间是由三个轴共同构成,Z轴往屏幕外面是正值,里面是负值!

3D移动 translate3D

transform: translateX(100px) translateY(100px) translateZ(100px);简写方法transform:translate3d(x,y,z)

x,y,z是不能省略的,如果没有就写0

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

transform:translateX(100px),仅仅在X轴移动
transform:translateY(100px),仅仅在Y轴移动
transform:translateZ(100px),仅仅在Z轴移动
transform:translate3d(x,y,z),设置,xyz的值,z要用像素单位,不带百分比

透视 perspective

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

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

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

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

4.距离视觉点越来越近的在电脑平面成像越大,越远成像越小

5.透视的单位是像素

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

d:就是视距,视距是一个距离人的眼睛到屏幕的距离,透视越小,物体越大。

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

translateZ

给一个父盒子一个透视值,给不同的div不同的z值,所看到的效果是不一样的。

3D旋转rotate3d

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

xyz表示旋转轴的矢量,表示沿着该矢量轴旋转,最后一个表示旋转角度

transform:rotate3d(1,0,0,45deg)x轴旋转45deg
transform:rotate3d(1,1,0,45deg)对角线旋转45deg

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为角度(了解即可)

对于元素旋转的方向判断,我们需要一个左手准则

左手准则:

左手的手拇指指向x轴的正方向

其余手指弯曲方向就是该元素沿着x轴旋转的方向。

X旋转:

正值是头往屏幕里面仰

负值是头往屏幕外面倒

Y轴旋转:

左手准则也可以

Z轴旋转:

和2d旋转没啥区别

 3D呈现 transform-style

1.控制子元素是否开启三维立体环境

2.transform-style:flat子元素不开启3d立体空间,默认的

3.transform-style:preserve-3d,子元素开启立体空间

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

5.这个属性很重要,后面必用

语法:

.fa {
perspective: 500px;
position: relative;
margin: 50px auto;
transform-style: preserve-3d;
}
.son1,
.son,
.fa {
width: 200px;
height: 200px;
transition: all 2s;
}

    2.CSS样式

    box指定大小,切记要加3d呈现

    back盒子要沿着y轴旋转180度

    最后鼠标经过box在沿着y轴旋转180度

(学习视频分享:css视频教程

以上是css3中的3维平面z轴有负值吗的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn