• 立体正方形的实现


      立体正方形主要涉及到了CSS3的3D,所以需要熟悉这一部分的内容。

      而transform中使用rotate务必牢记一点,即旋转的时候,是旋转的坐标系,所以旋转后的平面相对于它自身的坐标系来说是不变的。这也就是为什么所有的平面都是`translateZ(100px)`的原因。

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <meta name="viewport" content="width=device-width, initial-scale=1.0">
     6     <title>Document</title>
     7     <style>
     8         .box {
     9             width: 500px;
    10             height: 500px;
    11             transform-style: preserve-3d;
    12             position: relative;
    13             margin: 200px auto;
    14             transform: rotate3d(1, 1, 1, 15deg);
    15         }
    16 
    17         .minbox {
    18             width: 200px;
    19             height: 200px;
    20             font-size: 40px;
    21             color: #fff;
    22             text-align: center;
    23             line-height: 200px;
    24             background-color: skyblue;
    25             opacity: 0.3;
    26             position: absolute;
    27             top: 0;
    28             left: 0;
    29             border: 1px solid green;
    30         }
    31         .box1 {
    32             transform: translateZ(100px);
    33         }
    34         .box2 {
    35             transform: rotateX(180deg) translateZ(100px);
    36         }
    37         .box3 {
    38             transform: rotateY(-90deg) translateZ(100px);
    39         }
    40         .box4 {
    41             transform: rotateY(90deg) translateZ(100px);
    42         }
    43         .box5 {
    44             transform: rotateX(-90deg) translateZ(100px);
    45         }
    46         .box6 {
    47             transform: rotateX(90deg) translateZ(100px);
    48         }
    49     </style>
    50 </head>
    51 <body>
    52     <div class="box">
    53         <div class="minbox box1"></div>
    54         <div class="minbox box2"></div>
    55         <div class="minbox box3"></div>
    56         <div class="minbox box4"></div>
    57         <div class="minbox box5"></div>
    58         <div class="minbox box6"></div>
    59     </div>
    60 
    61     <script>
    62         obj = document.getElementsByClassName('box')[0];
    63         obj.addEventListener('mouseenter',function(){
    64             this.style.transition = 'all 5s';
    65             this.style.transform = 'rotate3d(1, 1, 1, 300deg)';
    66         });
    67         obj.addEventListener('mouseleave', function(){
    68             this.style.transition = 'all 5s';
    69             this.style.transform = 'rotate3d(1, 1, 1, 15deg)';
    70         });
    71     </script>
    72 </body>
    73 </html>

  • 相关阅读:
    超酷的元素周期表
    TestLink在线Excel用例转换xml
    我也学习JAVA多线程-join
    request.getSession(true/false)的区别
    nginx location配置详细解释
    RestTemplate--解决中文乱码
    扇贝-每日一句
    Hexo博客系列(三)-将Hexo v3.x个人博客发布到GitLab Pages
    C程序的内存分区(节选自黑马训练营day1)
    CodeBlocks更换界面主题界面、汉化及去掉注释及字符串的下划线(汉化包的链接来自本站的BeatificDevin大神)
  • 原文地址:https://www.cnblogs.com/littleppig/p/13417365.html
Copyright © 2020-2023  润新知