4_3D效果.html 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263
  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. body{
  9. /* 观察者距离 */
  10. perspective: 1000px;
  11. /* perspective-origin 观察者位置 后边可以写两个值 一个横向 第二个纵向 */
  12. /* perspective-origin: right bottom; */
  13. /* perspective-origin: 100px 200px; */
  14. perspective-origin: center;
  15. }
  16. .box{
  17. width: 200px;
  18. height: 200px;
  19. border: 2px dashed black;
  20. margin:100px auto;
  21. position: relative;
  22. /* transform-style: preserve-3d 当前元素内部所有的transform都以3d效果展示 */
  23. transform-style: preserve-3d;
  24. }
  25. .box1{
  26. width: 200px;
  27. height: 200px;
  28. background-color: red;
  29. position: absolute;
  30. top: 0;
  31. left: 0;
  32. transform: translateZ(-5px);
  33. }
  34. .box2{
  35. width: 200px;
  36. height: 200px;
  37. background-color: blue;
  38. position: absolute;
  39. top: 0;
  40. left: 0;
  41. transform: translateZ(5px);
  42. }
  43. .box3{
  44. width: 200px;
  45. height: 200px;
  46. /* transform: rotateY(80deg); */
  47. transform-style: preserve-3d;
  48. transition: all 1s linear;
  49. }
  50. .box3:hover{
  51. transform: rotateY(180deg);
  52. }
  53. </style>
  54. </head>
  55. <body>
  56. <div class="box">
  57. <div class="box3">
  58. <div class="box1"></div>
  59. <div class="box2"></div>
  60. </div>
  61. </div>
  62. </body>
  63. </html>