• 使用css制作3D盒子,目的是把盒子并列制作成3D货架


    注意事项:这个正方体的其他面的角度很难调,因此如果想动态生成,需要很复杂的设置动态的角度,反正我是折腾了半天没继续搞下去,

    1. 首先看效果(第一个五颜六色的是透明多个面,第2-3都是只有3个面是我实际需要的,右边的有3个并列的正方体与3个并列的长方体):

    长方体与正方体,所有代码:

    1. html>
    2. <html lang="zh-CH">
    3. <head>
    4. <meta charset="UTF-8">
    5. <meta http-equiv="X-UA-Compatible" content="IE=edge">
    6. <meta name="viewport" content="width=device-width, initial-scale=1.0">
    7. <title>Documenttitle>
    8. <style>
    9. body {
    10. width: 100%;
    11. height: 100%;
    12. }
    13. .box {
    14. float: left; margin: 5%; /*只是把两个div放一行,并相隔开*/
    15. width: 200px;
    16. height: 200px;
    17. background-color: skyblue;
    18. /* 在父元素中添加transform-style启用3d空间 */
    19. transform-style: preserve-3d;
    20. /* 在父元素中添加透视效果 */
    21. /* perspective: 200px; */
    22. transform: rotateX(353deg) rotateY(45deg);
    23. }
    24. .item {
    25. position: absolute;
    26. top: 0;
    27. left: 0;
    28. width: 100%;
    29. height: 100%;
    30. }
    31. .top {
    32. background-color: rgba(255, 0, 0, 0.4);
    33. transform: rotateX(90deg) translateZ(100px);
    34. }
    35. .bottom {
    36. background-color: rgba(0, 255, 0, 0.4);
    37. transform: rotateX(-90deg) translateZ(100px);
    38. }
    39. .front {
    40. background-color: rgba(100, 100, 100, 0.4);
    41. transform: rotateY(0deg) translateZ(100px);
    42. }
    43. .back {
    44. background-color: rgba(100, 100, 100, 0.4);
    45. transform: rotateY(-180deg) translateZ(100px);
    46. }
    47. .left {
    48. background-color: rgb(54 72 211 / 78%);
    49. transform: rotateY(-90deg) translateZ(100px);
    50. }
    51. .right {
    52. background-color: rgba(255, 255, 0, 0.4);
    53. transform: rotateY(90deg) translateZ(100px);
    54. }
    55. .top2 {background-color: #081b61;transform: rotateX(90deg) translateZ(100px) rotatez(58deg); }
    56. .left2 {background-color: #2949bf; transform: rotateY(303deg) translateZ(100px);}
    57. .right2 { background-color: #949aad; transform: rotateY(33deg) translateZ(100px); }
    58. .box1 {
    59. float: left;
    60. margin: 5px;
    61. width: 50px;
    62. height: 50px;
    63. transform-style: preserve-3d;
    64. transform: rotateX(353deg) rotateY(45deg);
    65. }
    66. /*小正方体*/
    67. .top3 {
    68. background-color: #4b598d;
    69. transform: rotateX(90deg) translateZ(23px) rotatez(154deg) rotatey(2deg);
    70. }
    71. .left3 {
    72. background-color: #2949bf;
    73. transform: rotateY(304deg) translateZ(30px);
    74. }
    75. .right3 {
    76. background-color: #5f71a9;
    77. transform: rotateY(23deg) translateZ(27px);
    78. }
    79. style>
    80. head>
    81. <body>
    82. <div class="box">
    83. 父元素
    84. <div class="item top">topdiv>
    85. <div class="item bottom">bottomdiv>
    86. <div class="item front">frontdiv>
    87. <div class="item back">backdiv>
    88. <div class="item left">leftdiv>
    89. <div class="item right">rightdiv>
    90. div>
    91. <div class="box">
    92. 父元素
    93. <div class="item top2">div>
    94. <div class="item left2">div>
    95. <div class="item right2">div>
    96. div>
    97. <div class="box">
    98. 父元素
    99. <div class="item" style="background-color: #081b61;transform: rotateX(90deg) translateZ(100px) rotatez(49deg);">div>
    100. <div class="item" style="background-color: #2949bf; transform: rotateY(311deg) translateZ(100px);">div>
    101. <div class="item" style="background-color: #949aad;transform: rotateY(40deg) translateZ(100px);">div>
    102. div>
    103. <div>
    104. <div style="float: left; margin: 5px; width: 50px; height: 50px; transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);">
    105. <div class="item top3">div>
    106. <div class="item left3">div>
    107. <div class="item right3">div>
    108. div>
    109. <div class="box1">
    110. <div class="item top3">div>
    111. <div class="item left3">div>
    112. <div class="item right3">div>
    113. div>
    114. <div class="box1">
    115. <div class="item top3">div>
    116. <div class="item left3">div>
    117. <div class="item right3">div>
    118. div>
    119. div>
    120. <br><br><br>
    121. <div>
    122. <div style="width:80px;float: left; margin: 5px;height: 50px; transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);">
    123. <div class="item" style="background-color: #414349;transform:rotateX(94deg) translateZ(26px) translatex(8px) translatey(18px) rotatez(81deg) rotatey(0deg)">div>
    124. <div class="item" style="background-color: #5275f5;transform:rotateY(313deg) translateZ(2px)">div>
    125. <div class="item" style="background-color: #2e4495;transform:rotateY(26deg) rotateZ(4deg) translateZ(55px) translateY(-4px)">div>
    126. div>
    127. <div style="width:80px;float: left; margin: 5px; height: 50px; transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);">
    128. <div class="item" style="background-color: #414349;transform:rotateX(94deg) translateZ(26px) translatex(8px) translatey(18px) rotatez(81deg) rotatey(0deg)">div>
    129. <div class="item" style="background-color: #5275f5;transform:rotateY(313deg) translateZ(2px)">div>
    130. <div class="item" style="background-color: #2e4495;transform:rotateY(26deg) rotateZ(4deg) translateZ(55px) translateY(-4px)">div>
    131. div>
    132. <div style="width:80px;float: left; margin: 5px; height: 50px; transform-style: preserve-3d;transform: rotateX(353deg) rotateY(45deg);">
    133. <div class="item" style="background-color: #414349;transform:rotateX(94deg) translateZ(26px) translatex(8px) translatey(18px) rotatez(81deg) rotatey(0deg)">div>
    134. <div class="item" style="background-color: #5275f5;transform:rotateY(313deg) translateZ(2px)">div>
    135. <div class="item" style="background-color: #2e4495;transform:rotateY(26deg) rotateZ(4deg) translateZ(55px) translateY(-4px)">div>
    136. div>
    137. div>
    138. body>
    139. html>

  • 相关阅读:
    jQuery常用API--选择器
    安全与HTTP协议:为何明文传输数据成为争议焦点?
    node.js--简介、特点、控制台常用指令、http模块、fs模块
    【tg】9 : InstanceImpl 、 虚拟的音频渲染设备FakeAudioDeviceModuleImpl
    供应链系统有哪些功能?供应链系统能够为企业创造什么价值?
    (附源码)计算机毕业设计SSM金牛社区疫情防控系统
    JDBC 在性能测试中的应用
    【git系列4/4】如何设置core.autocrlf | core.safecrlf (配置值的含义及最佳实践)
    Linux内核分析与应用
    Redis-使用java代码操作Redis->java连接上redis,java操作redis的常见类型数据存储,redis中的项目应用
  • 原文地址:https://blog.csdn.net/qq3892997/article/details/133606842