CSS3 3D魔方

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>3D魔方</title>
    <style>
        /*上*/
        @keyframes spintop {
            0% {transform:rotateX(90deg) rotateZ(0deg) translateZ(100px);}
            50% { transform:rotateX(1170deg) rotateZ(0deg)  translateZ(100px); }
            100% {transform:rotateX(1170deg) rotateZ(-1080deg) translateZ(100px);}
        }
        /*左*/
        @keyframes spinleft {
            0% {transform:rotateY(-90deg) rotateZ(0deg)  translateZ(100px);}
            50% { transform:rotateY(-90deg) rotateZ(-1080deg)  translateZ(100px); }
            100% { transform:rotateY(990deg) rotateZ(-1080deg) translateZ(100px); }
        }
        /*前*/
        @keyframes spinbefore {
            0% {transform: rotateX(0deg) rotateY(0deg) translateZ(100px);}
            50% { transform:rotateX(1080deg) rotateY(0deg) translateZ(100px); }
            100% { transform:rotateX(1080deg) rotateY(1080deg) translateZ(100px); }
        }
        /*右*/
        @keyframes spinright {
            0% {transform:rotateY(90deg) rotateZ(0deg) translateZ(100px);}
            50% { transform:rotateY(90deg) rotateZ(1080deg) translateZ(100px); }
            100% { transform:rotateY(1170deg) rotateZ(1080deg) translateZ(100px); }
        }
        /*后*/
        @keyframes spinafter {
            0% {transform:rotateX(180deg) rotateY(0deg) translateZ(100px);}
            50% {transform:rotateX(1260deg) rotateY(0deg) translateZ(100px); }
            100% {transform:rotateX(1260deg) rotateY(-1080deg)  translateZ(100px); }
        }
        /*下*/
        @keyframes spinbottom {
            0% {transform:rotateX(-90deg) rotateZ(0deg)  translateZ(100px);}
            50% { transform:rotateX(990deg) rotateZ(0deg) translateZ(100px); }
            100% { transform:rotateX(990deg) rotateZ(1080deg) translateZ(100px); }
        }
        html,body{
            width: 100%;
            height: 100%;
            padding: 0;
            margin: 0;
        }
        .square{
            transform-style: preserve-3d;
            perspective: 1000px;
            position: relative;
            height:100px;
            width:100px;
            left:33%;
            top:50%;
        }
        .side{
            position:absolute;
            display:block;
            height:100px;
            width:100px;
        }
        /*上*/
        .side_top{
            background:#FF884D;
            transform:rotateX(90deg) translateZ(100px);
            animation: spintop linear infinite 12s;
        }
        /*左*/
        .side_left{
            background:#65A2C5;
            transform:rotateY(-90deg) translateZ(100px);
            animation: spinleft linear infinite 12s;
        }
        /*前*/
        .side_before{
            background:#41C3AC;
            transform:translateZ(100px);
            animation: spinbefore linear infinite 12s;
        }
        /*右*/
        .side_right{
            background:#FFCC5C;
            transform:rotateY(90deg) translateZ(100px);
            animation: spinright linear infinite 12s;
        }
        /*后*/
        .side_after{
            background:#FF6B57;
            transform:rotateY(180deg) translateZ(100px);
            animation: spinafter linear infinite 12s;
        }
        /*下*/
        .side_bottom{
            background:#32526E;
            transform:rotateX(-90deg) translateZ(100px);
            animation: spinbottom linear infinite 12s;
        }
    </style>
</head>
<body>
   <div class="square">
       <div class="side side_top"></div>
       <div class="side side_left"></div>
       <div class="side side_before"></div>
       <div class="side side_right"></div>
       <div class="side side_after"></div>
       <div class="side side_bottom"></div>
   </div>
</body>
</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值