立方体动画制作------方法二

    xiaoxiao2021-03-25  283

    方法二:

    步骤一:

    一个大盒子包着6个小盒子;

    步骤二:

    大盒子的宽高和小盒子的一样;

    步骤三:

    子绝父相,让6个小盒子脱离文档流,叠在一起;

    步骤四:

    给6个小盒子设置不同背景颜色;

    步骤五:

    先做上下两个面,分别沿Y轴的上下各自平移宽度的一半,再继续围绕X轴各自旋转90deg。

    步骤六:

    先做左右两个面,分别沿X轴的左右各自平移宽度的一半,再继续围绕Y轴各自旋转90deg。

    步骤七:

    先做前后两个面,分别沿Z轴的前后各自平移宽度的一半。

    步骤八:

    给父元素加transform-style: preserve-3d;转成3d.

    步骤九:

    让父元素旋转,查看效果, transform:rotateY(30deg) rotateX(30deg); 

    HTML和CSS样式:

    <!DOCTYPE html> <html lang="en">     <head>         <meta charset="utf-8">         <title>透明3D立体正方体</title>         <style type="text/css">             body{                 background: #000;             }             .box{                 width: 200px;                 height: 200px;                 position: relative;                 margin:200px auto;                 transform-style: preserve-3d;                 transform:rotateY(0deg) rotateX(30deg);                             }             p{                 width: 200px;                 height: 200px;                 text-align: center;                 line-height: 200px;                 opacity: 0.5;                 position:absolute;                 left: 0px;                 top: 0px;             }             .one{                 background: red;                 -webkit-transform: translateX(100px) rotateY(90deg);                    -moz-transform: translateX(100px) rotateY(90deg);                     -ms-transform: translateX(100px) rotateY(90deg);                      -o-transform: translateX(100px) rotateY(90deg);                         transform: translateX(100px) rotateY(90deg);             }             .two{                 background: blue;                 -webkit-transform: translateX(-100px) rotateY(90deg);                    -moz-transform: translateX(-100px) rotateY(90deg);                     -ms-transform: translateX(-100px) rotateY(90deg);                      -o-transform: translateX(-100px) rotateY(90deg);                         transform: translateX(-100px) rotateY(90deg);             }             .three{                 background: green;                 -webkit-transform: translateY(100px) rotateX(90deg);                    -moz-transform: translateY(100px) rotateX(90deg);                     -ms-transform: translateY(100px) rotateX(90deg);                      -o-transform: translateY(100px) rotateX(90deg);                         transform: translateY(100px) rotateX(90deg);             }             .four{                 background: yellow;                 -webkit-transform: translateY(-100px) rotateX(90deg);                    -moz-transform: translateY(-100px) rotateX(90deg);                     -ms-transform: translateY(-100px) rotateX(90deg);                      -o-transform: translateY(-100px) rotateX(90deg);                         transform: translateY(-100px) rotateX(90deg);             }             .five{                 background: pink;                 -webkit-transform: translateZ(100px);                    -moz-transform: translateZ(100px);                     -ms-transform: translateZ(100px);                      -o-transform: translateZ(100px);                         transform: translateZ(100px);             }             .sex{                 background: orange;                 -webkit-transform: translateZ(-100px);                    -moz-transform: translateZ(-100px);                     -ms-transform: translateZ(-100px);                      -o-transform: translateZ(-100px);                         transform: translateZ(-100px);             }         </style>     </head>     <body>         <div class="box">             <p class="one">1</p>             <p class="two">2</p>             <p class="three">3</p>             <p class="four">4</p>             <p class="five">5</p>             <p class="sex">6</p>         </div>     </body> </html>

    转载请注明原文地址: https://ju.6miu.com/read-20098.html

    最新回复(0)