• css 3d box 实现的一些注意事项


    Test1.html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6     <style>
     7     *{
     8         margin: 0;
     9         padding: 0;
    10     }
    11     .wrap{
    12         margin: 50px auto;
    13         width: 200px;
    14         padding: 200px;
    15         perspective: 800px;
    16         border: 1px dashed #333;
    17     }
    18     .box{
    19         position: relative;
    20         width: 200px;
    21         height: 200px;
    22         line-height: 200px;
    23         font-size: 100px;
    24         text-align: center;
    25         color: #fff;
    26         font-weight: bold;
    27         border: 1px dashed #ccc;
    28         transform-style: preserve-3d;
    29         transform-origin: center center -100px;/*定位的方式,旋转中心点这样设置,但存在兼容性问题*/
    30         transition: 1s;
    31     }
    32     .box div{
    33         position: absolute;
    34         width: 200px;
    35         height: 200px;
    36     }
    37     .box div:nth-of-type(1){
    38         top: -200px;
    39         background-color: red;
    40         transform-origin: bottom;
    41         transform: rotateX(90deg);
    42     }
    43     .box div:nth-of-type(2){
    44         left: -200px;
    45         background-color: green;
    46         transform-origin: right;
    47         transform: rotateY(-90deg);
    48     }
    49     .box div:nth-of-type(3){
    50         background-color: blue;
    51     }
    52     .box div:nth-of-type(4){
    53         right: -200px;
    54         background-color: #333;
    55         transform-origin: left;
    56         transform: rotateY(90deg);
    57     }
    58     .box div:nth-of-type(5){
    59         bottom: -200px;
    60         background-color: yellow;
    61         transform-origin: top;
    62         transform: rotateX(-90deg);
    63     }
    64     .box div:nth-of-type(6){
    65         background-color: tan;
    66         transform: translateZ(-200px) rotateX(180deg);
    67     }
    68     .wrap:hover .box{
    69         transform: rotateX(360deg);
    70     }
    71     </style>
    72 </head>
    73 <body>
    74     <div class="wrap">
    75         <div class="box">
    76             <div>1</div>
    77             <div>2</div>
    78             <div>3</div>
    79             <div>4</div>
    80             <div>5</div>
    81             <div>6</div>
    82         </div>
    83     </div>
    84 </body>
    85 </html>

    Test2.html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6     <style>
     7     *{
     8         margin: 0;
     9         padding: 0;
    10     }
    11     .wrap{
    12         margin: 50px auto;
    13         width: 200px;
    14         padding: 200px;
    15         perspective: 800px;
    16         border: 1px dashed #333;
    17     }
    18     .box{
    19         position: relative;
    20         width: 200px;
    21         height: 200px;
    22         line-height: 200px;
    23         font-size: 100px;
    24         text-align: center;
    25         color: #fff;
    26         font-weight: bold;
    27         border: 1px dashed #ccc;
    28         transform-style: preserve-3d;
    29         transform-origin: center center -100px;/*定位的方式,旋转中心点这样设置,但存在兼容性问题*/
    30         transition: 1s;
    31     }
    32     .box div{
    33         position: absolute;
    34         width: 200px;
    35         height: 200px;
    36     }
    37     .box div:nth-of-type(1){
    38         top: -200px;
    39         background-color: red;
    40         transform-origin: bottom;
    41         transform: rotateX(90deg);
    42     }
    43     .box div:nth-of-type(2){
    44         left: -200px;
    45         background-color: green;
    46         transform-origin: right;
    47         transform: rotateY(-90deg);
    48     }
    49     .box div:nth-of-type(3){
    50         background-color: blue;
    51     }
    52     .box div:nth-of-type(4){
    53         right: -200px;
    54         background-color: #333;
    55         transform-origin: left;
    56         transform: rotateY(90deg);
    57     }
    58     .box div:nth-of-type(5){
    59         bottom: -200px;
    60         background-color: yellow;
    61         transform-origin: top;
    62         transform: rotateX(-90deg);
    63     }
    64     .box div:nth-of-type(6){
    65         background-color: tan;
    66         transform: translateZ(-200px) rotateX(180deg);
    67     }
    68     .wrap:hover .box{
    69         transform: rotateX(360deg);
    70     }
    71     </style>
    72 </head>
    73 <body>
    74     <div class="wrap">
    75         <div class="box">
    76             <div>1</div>
    77             <div>2</div>
    78             <div>3</div>
    79             <div>4</div>
    80             <div>5</div>
    81             <div>6</div>
    82         </div>
    83     </div>
    84 </body>
    85 </html>

    Test3.html

     1 <!DOCTYPE html>
     2 <html lang="en">
     3 <head>
     4     <meta charset="UTF-8">
     5     <title>Document</title>
     6     <style>
     7     /*不用麻烦设置left,top等值*/
     8     .wrap{
     9         margin: 0 auto;
    10         width: 200px;
    11         height: 200px;
    12         padding: 200px;
    13         border: 1px solid #333;
    14         perspective: 800px;/*!!!*/
    15     }
    16     .box{
    17         width: 200px;
    18         height: 200px;
    19         position: relative;
    20         transform-style: preserve-3d;/*!!!*/
    21         transition: 3s all;
    22         transform: translateZ(-100px) rotateX(0);
    23     }
    24     .box div{
    25         width: 200px;
    26         height: 200px;
    27         line-height: 200px;
    28         color: #fff;
    29         position: absolute;
    30         font-size: 100px;
    31         text-align: center;
    32     }
    33     .box div:nth-of-type(1){
    34         background-color: red;
    35         transform: translateZ(100px);
    36     }
    37     .box div:nth-of-type(2){
    38         background-color: blue;
    39         transform-origin: top;
    40         transform: translateZ(-100px) rotateX(90deg);/*!!!先移到最里面再操作能保证数字是正的,然后再向前移动,然后再控制其父向后移动*/
    41     }
    42     .box div:nth-of-type(3){
    43         background-color: yellow;
    44         transform: translateZ(-100px) rotateX(180deg);/*!!!*/
    45     }
    46     .box div:nth-of-type(4){
    47         background-color: green;
    48         transform-origin: bottom;
    49         transform: translateZ(-100px) rotateX(-90deg);/*!!!*/
    50     }
    51     .wrap:hover .box{
    52         transform: translateZ(-100px) rotateX(270deg);
    53     }
    54     </style>
    55 </head>
    56 <body>
    57     <div class="wrap">
    58         <div class="box">
    59             <div>1</div>
    60             <div>2</div>
    61             <div>3</div>
    62             <div>4</div>
    63         </div>
    64     </div>
    65 </body>
    66 </html>
  • 相关阅读:
    2018.7.19 AK22 续集
    2018.7.18 上半年课程总结 4- 高级英语
    智商税 与 易感人群
    2018.7.14 上半年课程总结-经济学2
    2018.7.13 上半年课程总结-经济学1
    PyQt(Python+Qt)学习随笔:QListWidget的addItems增加多项的方法
    PyQt(Python+Qt)学习随笔:QListWidget的addItem方法
    PyQt(Python+Qt)学习随笔:QListWidgetItem的重要方法
    PyQt(Python+Qt)学习随笔:复选框状态枚举类Qt.CheckState取值及含义
    一路向北,目标:武汉!
  • 原文地址:https://www.cnblogs.com/jiujiaoyangkang/p/5809818.html
Copyright © 2020-2023  润新知