简述web前端 A001-魔方

本文展示了一个使用纯CSS实现的3D魔方动画效果,通过精确设置旋转角度及位置来模拟魔方翻转的过程。文章详细介绍了魔方各面及其小块的位置布局,并运用CSS3的transform属性实现了流畅的3D动画。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

<!doctype html><!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
* {
    margin: 0;
    padding: 0;
}

h1 {
    text-align: center;
    margin-top: 50px;
}


/*外层容器样式*/

.outer {
    position: absolute;
    top: 50%;
    left: 45%;
    width: 200px;
    height: 200px;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d
    transform-style: preserve-3d;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    backface-visibility: hidden;
}


/*内层容器样式*/

.inner {
    /*开启3D视图*/
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    /*-webkit-perspective: 1000px;*/
    /*动画样式*/
    -webkit-animation: change 6s linear infinite;
    -moz--animation: change 6s linear infinite;
    animation: change 6s linear infinite;
}


/*动画*/

@-webkit-keyframes change {
    0% {
        -webkit-transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
    }
    33% {
        -webkit-transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
    }
    66% {
        -webkit-transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
    }
    100% {
        -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
    }
}
@-moz-keyframes change {
    0% {
        -webkit-transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
    }
    33% {
        -webkit-transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
    }
    66% {
        -webkit-transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
    }
    100% {
        -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
    }
}
@keyframes change {
    0% {
        transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
    }
    33% {
        transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
    }
    66% {
        transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
    }
    100% {
        transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
    }
}
/*六大面通用样式*/
.inner>div {
    height: 308px;
    width: 308px;
    text-align: center;
    line-height: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
}


/*前面样式*/

.front {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #AF2BB5;
    -webkit-transform: translateZ(158px);
    -moz-transform: translateZ(158px);
    transform: translateZ(158px);
}


/*后面样式*/

.after {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #1EA26E;
    -webkit-transform: translateZ(-158px);
    -moz-transform: translateZ(-158px);
    transform: translateZ(-158px);
}


/*左面样式*/

.left {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #D1CF18;
    -webkit-transform: rotateY(90deg) translateZ(158px);
    -moz-transform: rotateY(90deg) translateZ(158px);
    transform: rotateY(90deg) translateZ(158px);
}


/*右面样式*/

.right {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #197FAA;
    -webkit-transform: rotateY(90deg) translateZ(-158px);
    -moz-transform: rotateY(90deg) translateZ(-158px);
    transform: rotateY(90deg) translateZ(-158px);
}


/*上面样式*/

.up {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #C91443;
    -webkit-transform: rotateX(90deg) translateZ(158px);
    -moz-transform: rotateX(90deg) translateZ(158px);
    transform: rotateX(90deg) translateZ(158px);
}


/*下面样式*/

.down {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #0FB0AC;
    -webkit-transform: rotateX(90deg) translateZ(-158px);
    -moz-transform: rotateX(90deg) translateZ(-158px);
    transform: rotateX(90deg) translateZ(-158px);
}


/*前面9个小div样式*/

.front>div {
    height: 100px;
    width: 100px;
    background: #8A2BE2;
    border-radius: 10px;
}

.front1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.front2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.front3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.front4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.front5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.front6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.front7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.front8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.front9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*后面9个小div样式*/

.after div {
    height: 100px;
    width: 100px;
    background: #04EC99;
    border-radius: 10px;
}

.after1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.after2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.after3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.after4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.after5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.after6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.after7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.after8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.after9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*左面9个小div样式*/

.left div {
    height: 100px;
    width: 100px;
    background: #F4F871;
    border-radius: 10px;
}

.left1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.left2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.left3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.left4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.left5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.left6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.left7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.left8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.left9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*右面9个小div样式*/

.right div {
    height: 100px;
    width: 100px;
    background: #7FB6FF;
    border-radius: 10px;
}

.right1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.right2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.right3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.right4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.right5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.right6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.right7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.right8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.right9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*上面9个小div样式*/

.up div {
    height: 100px;
    width: 100px;
    background: #FF7F8F;
    border-radius: 10px;
}

.up1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.up2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.up3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.up4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.up5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.up6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.up7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.up8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.up9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*下面9个小div样式*/

.down div {
    height: 100px;
    width: 100px;
    background: #6FFFFA;
    border-radius: 10px;
}

.down1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.down2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.down3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.down4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.down5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.down6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.down7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.down8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.down9 {
    position: absolute;
    left: 206px;
    top: 206px;
}

</style>
</head>

<body>
<h1>3D魔方</h1>
    <div class="outer">
        <div class="inner">
            <div class="front">
                <div class="front1">1</div>
                <div class="front2">2</div>
                <div class="front3">3</div>
                <div class="front4">4</div>
                <div class="front5">5</div>
                <div class="front6">6</div>
                <div class="front7">7</div>
                <div class="front8">8</div>
                <div class="front9">9</div>
            </div>
            <div class="after">
                <div class="after1">1</div>
                <div class="after2">2</div>
                <div class="after3">3</div>
                <div class="after4">4</div>
                <div class="after5">5</div>
                <div class="after6">6</div>
                <div class="after7">7</div>
                <div class="after8">8</div>
                <div class="after9">9</div>
            </div>
            <div class="left">
                <div class="left1">1</div>
                <div class="left2">2</div>
                <div class="left3">3</div>
                <div class="left4">4</div>
                <div class="left5">5</div>
                <div class="left6">6</div>
                <div class="left7">7</div>
                <div class="left8">8</div>
                <div class="left9">9</div>
            </div>
            <div class="right">
                <div class="right1">1</div>
                <div class="right2">2</div>
                <div class="right3">3</div>
                <div class="right4">4</div>
                <div class="right5">5</div>
                <div class="right6">6</div>
                <div class="right7">7</div>
                <div class="right8">8</div>
                <div class="right9">9</div>
            </div>
            <div class="up">
                <div class="up1">1</div>
                <div class="up2">2</div>
                <div class="up3">3</div>
                <div class="up4">4</div>
                <div class="up5">5</div>
                <div class="up6">6</div>
                <div class="up7">7</div>
                <div class="up8">8</div>
                <div class="up9">9</div>
            </div>
            <div class="down">
                <div class="down1">1</div>
                <div class="down2">2</div>
                <div class="down3">3</div>
                <div class="down4">4</div>
                <div class="down5">5</div>
                <div class="down6">6</div>
                <div class="down7">7</div>
                <div class="down8">8</div>
                <div class="down9">9</div>
            </div>
        </div>
    </div>
</body>

</html>

<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
* {
    margin: 0;
    padding: 0;
}

h1 {
    text-align: center;
    margin-top: 50px;
}


/*外层容器样式*/

.outer {
    position: absolute;
    top: 50%;
    left: 45%;
    width: 200px;
    height: 200px;
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d
    transform-style: preserve-3d;
    -moz-transform-origin: 50% 50%;
    -ms-transform-origin: 50% 50%;
    transform-origin: 50% 50%;
    backface-visibility: hidden;
}


/*内层容器样式*/

.inner {
    /*开启3D视图*/
    -webkit-transform-style: preserve-3d;
    -moz-transform-style: preserve-3d;
    transform-style: preserve-3d;
    /*-webkit-perspective: 1000px;*/
    /*动画样式*/
    -webkit-animation: change 6s linear infinite;
    -moz--animation: change 6s linear infinite;
    animation: change 6s linear infinite;
}


/*动画*/

@-webkit-keyframes change {
    0% {
        -webkit-transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
    }
    33% {
        -webkit-transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
    }
    66% {
        -webkit-transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
    }
    100% {
        -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
    }
}
@-moz-keyframes change {
    0% {
        -webkit-transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
    }
    33% {
        -webkit-transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
    }
    66% {
        -webkit-transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
    }
    100% {
        -webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
    }
}
@keyframes change {
    0% {
        transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
    }
    33% {
        transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
    }
    66% {
        transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
    }
    100% {
        transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
    }
}
/*六大面通用样式*/
.inner>div {
    height: 308px;
    width: 308px;
    text-align: center;
    line-height: 100px;
    position: absolute;
    top: 50%;
    left: 50%;
}


/*前面样式*/

.front {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #AF2BB5;
    -webkit-transform: translateZ(158px);
    -moz-transform: translateZ(158px);
    transform: translateZ(158px);
}


/*后面样式*/

.after {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #1EA26E;
    -webkit-transform: translateZ(-158px);
    -moz-transform: translateZ(-158px);
    transform: translateZ(-158px);
}


/*左面样式*/

.left {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #D1CF18;
    -webkit-transform: rotateY(90deg) translateZ(158px);
    -moz-transform: rotateY(90deg) translateZ(158px);
    transform: rotateY(90deg) translateZ(158px);
}


/*右面样式*/

.right {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #197FAA;
    -webkit-transform: rotateY(90deg) translateZ(-158px);
    -moz-transform: rotateY(90deg) translateZ(-158px);
    transform: rotateY(90deg) translateZ(-158px);
}


/*上面样式*/

.up {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #C91443;
    -webkit-transform: rotateX(90deg) translateZ(158px);
    -moz-transform: rotateX(90deg) translateZ(158px);
    transform: rotateX(90deg) translateZ(158px);
}


/*下面样式*/

.down {
    margin-top: -154px;
    margin-left: -154px;
    border: 5px solid #0FB0AC;
    -webkit-transform: rotateX(90deg) translateZ(-158px);
    -moz-transform: rotateX(90deg) translateZ(-158px);
    transform: rotateX(90deg) translateZ(-158px);
}


/*前面9个小div样式*/

.front>div {
    height: 100px;
    width: 100px;
    background: #8A2BE2;
    border-radius: 10px;
}

.front1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.front2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.front3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.front4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.front5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.front6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.front7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.front8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.front9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*后面9个小div样式*/

.after div {
    height: 100px;
    width: 100px;
    background: #04EC99;
    border-radius: 10px;
}

.after1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.after2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.after3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.after4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.after5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.after6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.after7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.after8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.after9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*左面9个小div样式*/

.left div {
    height: 100px;
    width: 100px;
    background: #F4F871;
    border-radius: 10px;
}

.left1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.left2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.left3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.left4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.left5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.left6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.left7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.left8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.left9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*右面9个小div样式*/

.right div {
    height: 100px;
    width: 100px;
    background: #7FB6FF;
    border-radius: 10px;
}

.right1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.right2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.right3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.right4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.right5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.right6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.right7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.right8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.right9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*上面9个小div样式*/

.up div {
    height: 100px;
    width: 100px;
    background: #FF7F8F;
    border-radius: 10px;
}

.up1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.up2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.up3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.up4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.up5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.up6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.up7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.up8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.up9 {
    position: absolute;
    left: 206px;
    top: 206px;
}


/*下面9个小div样式*/

.down div {
    height: 100px;
    width: 100px;
    background: #6FFFFA;
    border-radius: 10px;
}

.down1 {
    position: absolute;
    left: 2px;
    top: 2px;
}

.down2 {
    position: absolute;
    left: 104px;
    top: 2px;
}

.down3 {
    position: absolute;
    left: 206px;
    top: 2px;
}

.down4 {
    position: absolute;
    left: 2px;
    top: 104px;
}

.down5 {
    position: absolute;
    left: 104px;
    top: 104px;
}

.down6 {
    position: absolute;
    left: 206px;
    top: 104px;
}

.down7 {
    position: absolute;
    left: 2px;
    top: 206px;
}

.down8 {
    position: absolute;
    left: 104px;
    top: 206px;
}

.down9 {
    position: absolute;
    left: 206px;
    top: 206px;
}

</style>
</head>

<body>
<h1>3D魔方</h1>
    <div class="outer">
        <div class="inner">
            <div class="front">
                <div class="front1">1</div>
                <div class="front2">2</div>
                <div class="front3">3</div>
                <div class="front4">4</div>
                <div class="front5">5</div>
                <div class="front6">6</div>
                <div class="front7">7</div>
                <div class="front8">8</div>
                <div class="front9">9</div>
            </div>
            <div class="after">
                <div class="after1">1</div>
                <div class="after2">2</div>
                <div class="after3">3</div>
                <div class="after4">4</div>
                <div class="after5">5</div>
                <div class="after6">6</div>
                <div class="after7">7</div>
                <div class="after8">8</div>
                <div class="after9">9</div>
            </div>
            <div class="left">
                <div class="left1">1</div>
                <div class="left2">2</div>
                <div class="left3">3</div>
                <div class="left4">4</div>
                <div class="left5">5</div>
                <div class="left6">6</div>
                <div class="left7">7</div>
                <div class="left8">8</div>
                <div class="left9">9</div>
            </div>
            <div class="right">
                <div class="right1">1</div>
                <div class="right2">2</div>
                <div class="right3">3</div>
                <div class="right4">4</div>
                <div class="right5">5</div>
                <div class="right6">6</div>
                <div class="right7">7</div>
                <div class="right8">8</div>
                <div class="right9">9</div>
            </div>
            <div class="up">
                <div class="up1">1</div>
                <div class="up2">2</div>
                <div class="up3">3</div>
                <div class="up4">4</div>
                <div class="up5">5</div>
                <div class="up6">6</div>
                <div class="up7">7</div>
                <div class="up8">8</div>
                <div class="up9">9</div>
            </div>
            <div class="down">
                <div class="down1">1</div>
                <div class="down2">2</div>
                <div class="down3">3</div>
                <div class="down4">4</div>
                <div class="down5">5</div>
                <div class="down6">6</div>
                <div class="down7">7</div>
                <div class="down8">8</div>
                <div class="down9">9</div>
            </div>
        </div>
    </div>
</body>

</html>

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>无标题文档</title>
<style type="text/css">
* {
margin: 0;
padding: 0;
}

h1 {
text-align: center;
margin-top: 50px;
}


/*外层容器样式*/

.outer {
position: absolute;
top: 50%;
left: 45%;
width: 200px;
height: 200px;
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d
transform-style: preserve-3d;
-moz-transform-origin: 50% 50%;
-ms-transform-origin: 50% 50%;
transform-origin: 50% 50%;
backface-visibility: hidden;
}


/*内层容器样式*/

.inner {
/*开启3D视图*/
-webkit-transform-style: preserve-3d;
-moz-transform-style: preserve-3d;
transform-style: preserve-3d;
/*-webkit-perspective: 1000px;*/
/*动画样式*/
-webkit-animation: change 6s linear infinite;
-moz--animation: change 6s linear infinite;
animation: change 6s linear infinite;
}


/*动画*/

@-webkit-keyframes change {
0% {
-webkit-transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
}
33% {
-webkit-transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
}
66% {
-webkit-transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
}
100% {
-webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
}
}
@-moz-keyframes change {
0% {
-webkit-transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
}
33% {
-webkit-transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
}
66% {
-webkit-transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
}
100% {
-webkit-transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
}
}
@keyframes change {
0% {
transform: translateZ(-10em) rotateX(0deg) rotateY(0deg);
}
33% {
transform: translateZ(-10em) rotateX(120deg) rotateY(240deg);
}
66% {
transform: translateZ(-10em) rotateX(240deg) rotateY(480deg);
}
100% {
transform: translateZ(-10em) rotateX(360deg) rotateY(720deg);
}
}
/*六大面通用样式*/
.inner>div {
height: 308px;
width: 308px;
text-align: center;
line-height: 100px;
position: absolute;
top: 50%;
left: 50%;
}


/*前面样式*/

.front {
margin-top: -154px;
margin-left: -154px;
border: 5px solid #AF2BB5;
-webkit-transform: translateZ(158px);
-moz-transform: translateZ(158px);
transform: translateZ(158px);
}


/*后面样式*/

.after {
margin-top: -154px;
margin-left: -154px;
border: 5px solid #1EA26E;
-webkit-transform: translateZ(-158px);
-moz-transform: translateZ(-158px);
transform: translateZ(-158px);
}


/*左面样式*/

.left {
margin-top: -154px;
margin-left: -154px;
border: 5px solid #D1CF18;
-webkit-transform: rotateY(90deg) translateZ(158px);
-moz-transform: rotateY(90deg) translateZ(158px);
transform: rotateY(90deg) translateZ(158px);
}


/*右面样式*/

.right {
margin-top: -154px;
margin-left: -154px;
border: 5px solid #197FAA;
-webkit-transform: rotateY(90deg) translateZ(-158px);
-moz-transform: rotateY(90deg) translateZ(-158px);
transform: rotateY(90deg) translateZ(-158px);
}


/*上面样式*/

.up {
margin-top: -154px;
margin-left: -154px;
border: 5px solid #C91443;
-webkit-transform: rotateX(90deg) translateZ(158px);
-moz-transform: rotateX(90deg) translateZ(158px);
transform: rotateX(90deg) translateZ(158px);
}


/*下面样式*/

.down {
margin-top: -154px;
margin-left: -154px;
border: 5px solid #0FB0AC;
-webkit-transform: rotateX(90deg) translateZ(-158px);
-moz-transform: rotateX(90deg) translateZ(-158px);
transform: rotateX(90deg) translateZ(-158px);
}


/*前面9个小div样式*/

.front>div {
height: 100px;
width: 100px;
background: #8A2BE2;
border-radius: 10px;
}

.front1 {
position: absolute;
left: 2px;
top: 2px;
}

.front2 {
position: absolute;
left: 104px;
top: 2px;
}

.front3 {
position: absolute;
left: 206px;
top: 2px;
}

.front4 {
position: absolute;
left: 2px;
top: 104px;
}

.front5 {
position: absolute;
left: 104px;
top: 104px;
}

.front6 {
position: absolute;
left: 206px;
top: 104px;
}

.front7 {
position: absolute;
left: 2px;
top: 206px;
}

.front8 {
position: absolute;
left: 104px;
top: 206px;
}

.front9 {
position: absolute;
left: 206px;
top: 206px;
}


/*后面9个小div样式*/

.after div {
height: 100px;
width: 100px;
background: #04EC99;
border-radius: 10px;
}

.after1 {
position: absolute;
left: 2px;
top: 2px;
}

.after2 {
position: absolute;
left: 104px;
top: 2px;
}

.after3 {
position: absolute;
left: 206px;
top: 2px;
}

.after4 {
position: absolute;
left: 2px;
top: 104px;
}

.after5 {
position: absolute;
left: 104px;
top: 104px;
}

.after6 {
position: absolute;
left: 206px;
top: 104px;
}

.after7 {
position: absolute;
left: 2px;
top: 206px;
}

.after8 {
position: absolute;
left: 104px;
top: 206px;
}

.after9 {
position: absolute;
left: 206px;
top: 206px;
}


/*左面9个小div样式*/

.left div {
height: 100px;
width: 100px;
background: #F4F871;
border-radius: 10px;
}

.left1 {
position: absolute;
left: 2px;
top: 2px;
}

.left2 {
position: absolute;
left: 104px;
top: 2px;
}

.left3 {
position: absolute;
left: 206px;
top: 2px;
}

.left4 {
position: absolute;
left: 2px;
top: 104px;
}

.left5 {
position: absolute;
left: 104px;
top: 104px;
}

.left6 {
position: absolute;
left: 206px;
top: 104px;
}

.left7 {
position: absolute;
left: 2px;
top: 206px;
}

.left8 {
position: absolute;
left: 104px;
top: 206px;
}

.left9 {
position: absolute;
left: 206px;
top: 206px;
}


/*右面9个小div样式*/

.right div {
height: 100px;
width: 100px;
background: #7FB6FF;
border-radius: 10px;
}

.right1 {
position: absolute;
left: 2px;
top: 2px;
}

.right2 {
position: absolute;
left: 104px;
top: 2px;
}

.right3 {
position: absolute;
left: 206px;
top: 2px;
}

.right4 {
position: absolute;
left: 2px;
top: 104px;
}

.right5 {
position: absolute;
left: 104px;
top: 104px;
}

.right6 {
position: absolute;
left: 206px;
top: 104px;
}

.right7 {
position: absolute;
left: 2px;
top: 206px;
}

.right8 {
position: absolute;
left: 104px;
top: 206px;
}

.right9 {
position: absolute;
left: 206px;
top: 206px;
}


/*上面9个小div样式*/

.up div {
height: 100px;
width: 100px;
background: #FF7F8F;
border-radius: 10px;
}

.up1 {
position: absolute;
left: 2px;
top: 2px;
}

.up2 {
position: absolute;
left: 104px;
top: 2px;
}

.up3 {
position: absolute;
left: 206px;
top: 2px;
}

.up4 {
position: absolute;
left: 2px;
top: 104px;
}

.up5 {
position: absolute;
left: 104px;
top: 104px;
}

.up6 {
position: absolute;
left: 206px;
top: 104px;
}

.up7 {
position: absolute;
left: 2px;
top: 206px;
}

.up8 {
position: absolute;
left: 104px;
top: 206px;
}

.up9 {
position: absolute;
left: 206px;
top: 206px;
}


/*下面9个小div样式*/

.down div {
height: 100px;
width: 100px;
background: #6FFFFA;
border-radius: 10px;
}

.down1 {
position: absolute;
left: 2px;
top: 2px;
}

.down2 {
position: absolute;
left: 104px;
top: 2px;
}

.down3 {
position: absolute;
left: 206px;
top: 2px;
}

.down4 {
position: absolute;
left: 2px;
top: 104px;
}

.down5 {
position: absolute;
left: 104px;
top: 104px;
}

.down6 {
position: absolute;
left: 206px;
top: 104px;
}

.down7 {
position: absolute;
left: 2px;
top: 206px;
}

.down8 {
position: absolute;
left: 104px;
top: 206px;
}

.down9 {
position: absolute;
left: 206px;
top: 206px;
}

</style>
</head>

<body>
<h1>3D魔方</h1>
<div class="outer">
<div class="inner">
<div class="front">
<div class="front1">1</div>
<div class="front2">2</div>
<div class="front3">3</div>
<div class="front4">4</div>
<div class="front5">5</div>
<div class="front6">6</div>
<div class="front7">7</div>
<div class="front8">8</div>
<div class="front9">9</div>
</div>
<div class="after">
<div class="after1">1</div>
<div class="after2">2</div>
<div class="after3">3</div>
<div class="after4">4</div>
<div class="after5">5</div>
<div class="after6">6</div>
<div class="after7">7</div>
<div class="after8">8</div>
<div class="after9">9</div>
</div>
<div class="left">
<div class="left1">1</div>
<div class="left2">2</div>
<div class="left3">3</div>
<div class="left4">4</div>
<div class="left5">5</div>
<div class="left6">6</div>
<div class="left7">7</div>
<div class="left8">8</div>
<div class="left9">9</div>
</div>
<div class="right">
<div class="right1">1</div>
<div class="right2">2</div>
<div class="right3">3</div>
<div class="right4">4</div>
<div class="right5">5</div>
<div class="right6">6</div>
<div class="right7">7</div>
<div class="right8">8</div>
<div class="right9">9</div>
</div>
<div class="up">
<div class="up1">1</div>
<div class="up2">2</div>
<div class="up3">3</div>
<div class="up4">4</div>
<div class="up5">5</div>
<div class="up6">6</div>
<div class="up7">7</div>
<div class="up8">8</div>
<div class="up9">9</div>
</div>
<div class="down">
<div class="down1">1</div>
<div class="down2">2</div>
<div class="down3">3</div>
<div class="down4">4</div>
<div class="down5">5</div>
<div class="down6">6</div>
<div class="down7">7</div>
<div class="down8">8</div>
<div class="down9">9</div>
</div>
</div>
</div>
</body>

</html>
有待完善 尽请期待.......

我的其他文章

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值