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>

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。