web前端
您现在所在的位置:首页>企业动态>web前端

CSS3如何实现3D变换,web前端知识,web前端培训

编辑:学到牛牛IT培训    发布日期: 2022-02-10 10:14:02  

什么是3d的场景呢? 3d场景是如何实现的呢?它有和2d有哪些区别和联系呢,接下来下边和大家一起来看看,2d场景,在屏幕上水平和垂直的交叉线x轴和y轴,3d场景,在垂直于屏幕的方法,相对于3d多出个z轴,Z轴:靠近屏幕的方向是正向,远离屏幕的方向是反向。

CSS3如何实现3D变换.png

1.transform-style属性

transform-style属性是3D空间一个重要属性,指定嵌套元素如何在3D空间中呈现。他主要有两个属性值:flat和preserve-3d。其中flat值为默认值,表示所有子元素在2D平面呈现。preserve-3d表示所有子元素在3D空间中呈现。

也就是说,如果对一个元素设置了transform-style的值为flat,则该元素的所有子元素都将被平展到该元素的2D平面中进行呈现。沿着X轴或Y轴方向旋转该元素将导致位于正或负Z轴位置的子元素显示在该元素的平面上,而不是它的前面或者后面。如果对一个元素设置了transform-style的值为preserve-3d,它表示不执行平展操作,他的所有子元素位于3D空间中。

代码如下

<style>
  div{
    width:300px;
    height:200px;
    background:black;
    margin:100px auto;
    transform:rotateY(85deg);
    position:relative;
    transform-style:preserve-3d;
  }
  p{
    width:100px;
    height:150px;
    background:red;
    position:absolute;
    left:50%;
    top:50%;
    margin-left:-50px;
    margin-top:-75px;
    transform:rotateX(45deg);
  }
</style>

2、景深(透视)

近大远小 景深

程序中实现的方法 perspective 元素距离 视线的距离(物体和眼睛的距离越小,近大远小的效果越明显)perspective: 1200px;(在父元素中用)transform:perspective(1200px) (在子元素中使用)两个都设置会发生冲突,建议只设置父元素,通常的数值在900-1200之间如果当你的视线距离物体足够远的时候,基本上就不会有近大远小的感觉。

代码如下

<style>
  .con{
    float:left;
    width:200px;
    height:300px;
    margin-top:100px;
    margin-left:140px;
    border:2px solid red;
    transform-style:preserve-3d;
    perspective:500px;
  }
  .con img{
    trasition:1s;
  }
  .con:nth-child(1):hover img{
    transform:translateZ(150px);
  }
  .con:nth-child(2):hover img{
  }
</style>

perspective-origin:

观察3d元素的(位置)角度 perspective-origin:center center (中心)

perspective-origin:left top (左上角)

perspective-origin:100% 100% (右下角)

免费试学
课程好不好,不如实地听一听

封闭学习

2

1

联系我们

电话:028-61775817

邮箱:1572396657@qq.com

地址:成都高新西区西芯大道4号

  • 学到牛牛在线咨询

    扫一扫,免费咨询

  • 学到牛牛公众号

    微信公众号

学一流技术,找高薪工作

7-24小时服务热线:

028-61775817

版权声明 网站地图

蜀ICP备2021001672号

课程问题轻松问