2.10 CSS3之3D转换

时间:2021-02-20 12:40:51   收藏:0   阅读:0

2.10 3D转换

2.10.1 三维坐标系

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

3D 转换知识要点

2.10.2 3D 移动translate3d

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

  transform: translate3d(100px, 100px, 100px)
/* 注意:x, y, z 对应的值不能省略,不需要填写用 0 进行填充 */
transform: translate3d(100px, 100px, 0)

2.10.3 透视perspective

代码演示

body {
 /*透视需要写在被视察元素的父盒子上面 */
 perspective: 1000px;
}
?

translateZ与perspective的区别

2.10.4 3D 旋转rotateX

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

2.10.5 3D 旋转rotateY

div {
 perspective: 500px;
}
?
img {
 display: block;
 margin: 100px auto;
 transition: all 1s;
}
?
img:hover {
 transform: rotateY(180deg)
}

2.10.6 3D 旋转rotateZ

transform: rotate3d(x, y, z, deg) -- 沿着自定义轴旋转 deg 为角度

x, y, z 表示旋转轴的矢量,是标识你是否希望沿着该轴进行旋转,最后一个标识旋转的角度

div {
 perspective: 500px;
}
?
img {
 display: block;
 margin: 100px auto;
 transition: all 1s;
}
?
img:hover {
 transform: rotateZ(180deg)
}

2.10.7 3D呈现transform-style

<body>
   <div class="box">
       <div></div>
       <div></div>
   </div>
</body>
<style>
   body {
       perspective: 500px;
      }
       
   .box {
       position: relative;
       width: 200px;
       height: 200px;
       margin: 100px auto;
       transition: all 2s;
       /* 让子元素保持3d立体空间环境 */
       transform-style: preserve-3d;
      }
       
   .box:hover {
       transform: rotateY(60deg);
  }
       
   .box div {
       position: absolute;
       top: 0;
       left: 0;
       width: 100%;
       height: 100%;
       background-color: pink;
  }
       
   .box div:last-child {
       background-color: purple;
       transform: rotateX(60deg);
  }
</style>

 

评论(0
© 2014 mamicode.com 版权所有 京ICP备13008772号-2  联系我们:gaon5@hotmail.com
迷上了代码!