CSS3 3D 盒子模型

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<style>
*{
    margin:0;
    padding:0;
}
ul,li{
    list-style: none;
}
.wrap{
    width:200px;
    height:200px;
    border:1px solid blue;
    margin:150px auto;
    perspective:500px;
}
.box{
    width:150px;
    height:150px;
    position:relative;
    transform-origin:center center 75px;
    transform-style:preserve-3d;
    transition:1s;
}
.box li{
    width:150px;
    height:150px;
    position: absolute;
    text-align: center;
    line-height:150px;
}
.box li:nth-of-type(1){
    background:blue;
    left:-150px;
    transform-origin:right;
    transform:rotateY(90deg);
}
.box li:nth-of-type(2){
    background:red;
    left:150px;
    transform-origin:left;
    transform:rotateY(-90deg);
}
.box li:nth-of-type(3){
    background:gray;
    top:150px;
    transform-origin:top;
    transform:rotateX(90deg);
}
.box li:nth-of-type(4){
    background:pink;
    top:-150px;
    transform-origin:bottom;
    transform:rotateX(-90deg);
}
.box li:nth-of-type(5){
    background:purple;    
    transform:translateZ(150px);
}
.box li:nth-of-type(6){
    background:green;
    z-index:-1;
}
</style>
<body>
    <div class="wrap">
        <ul class="box">
            <li>1</li>
            <li>2</li>
            <li>3</li>
            <li>4</li>
            <li>5</li>
            <li>6</li>
        </ul>
    </div>
</body>
</html>

<script>
    var num = 0;
    var oBox = document.querySelector('.box');
    setInterval(function(){
        num--;
        oBox.style.transform='rotateY('+num*90+'deg)';
    },3000);
</script>
原文地址:https://www.cnblogs.com/zion0707/p/4190833.html