3D转换transform-style

  • 控制子元素是否开启三维立体环境
  • transform-style:flat 子元素不开启3D立体空间 默认的
  • transform-style:perserve-3d  子元素开启立体空间
  • 代码写给父级,但是影响的是子盒子
  • 这个属性和重要,写3D的时候会用到

实现如下效果

思路:两个盒子,相对于父元素进行定位。然后蓝色盒子根据x轴进行旋转,要对父元素加上transform-style:perserve-3d 的属性。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        body {
            perspective: 500px;
            
        }
        .box {
            width: 200px;
            height: 200px;
            margin: 100px auto;
            position: relative;
            /* 让子元素开启三维立体环境 */
            transform-style: preserve-3d;
        }

        .box div {
            position: absolute;
            top: 0;
            left: 0;
            /* 和父元素的大小一样 */
            width: 100%;
            height: 100%;
            background-color: pink;
        }
        /* 最后一个盒子沿x轴旋转 */
        .box div:last-child {
            background-color: blue;
            transform: rotateX(76deg);
        }

        .box:hover {
            transform: rotateY(80deg);
            transition: all 1s;
        }


    </style>
</head>
<body>
    <div class="box">
        <div></div>
        <div></div>
    </div>
</body>
</html>

  

posted @ 2022-03-24 15:24  洛飞  阅读(30)  评论(0编辑  收藏  举报