3d彩色css旋转盒子

发布时间 2023-08-08 10:56:56作者: 枫叶ak
<!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>彩色盒子旋转</title>
    <style>
        *{
            margin: 0;
            padding: 0;
        }
        .box{
            width: 200px;
            height: 200px;
            margin: 200px auto;
            /* 重要的是这个属性的添加 */
            transform-style:preserve-3d ;
            transform: rotateX(20deg) rotateY(20deg);
            position: relative;
            animation: donghua 2s linear infinite;
        }
        .box>div{
            inset: 0;
            position: absolute;
        }
        .box1{
            background-color: red;
            transform: translateX(100px) rotateY(90deg);
        }
        .box2{
            background-color: orange;
            transform: translateY(100px) rotateX(90deg);
        }
        .box3{
            background-color: yellow;
            transform: translateZ(100px);
        }
        .box4{
            background-color: green;
            transform: translateZ(-100px);
        }
        .box5{
            background-color: aqua;
            transform: translateY(-100px) rotateX(-90deg);
        }
        .box6{
            background-color: blue;
            transform: translateX(-100px) rotateY(-90deg);
        }
        @keyframes donghua{
            0%{
                transform: rotateX(20deg) rotateY(20deg);
            }
            100%{
                transform: rotateX(360deg) rotateY(360deg);
            }
        }
    </style>
</head>
<body>
    <!--这是拼凑的盒子,将六个平面进行一点位移,让它们基于一个平面拼成一个完整盒子,移动基准面这样就完成了盒子的3D旋转-->
    <div class="box">
        <div class="box1">1</div>
        <div class="box2">2</div>
        <div class="box3">3</div>
        <div class="box4">4</div>
        <div class="box5">5</div>
        <div class="box6">6</div>
    </div>
</body>
</html>