使用ONLY CSS创建旋转立方体

前端之家收集整理的这篇文章主要介绍了使用ONLY CSS创建旋转立方体前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在参加比赛,但我遇到了一些困难.我只需要使用CSS创建一个立方体(旋转).我必须使用的唯一 HTML代码是:
  1. <div id="container">
  2. <div id="imasters-cube">
  3. <div class="front"></div>
  4. <div class="back"></div>
  5. <div class="top"></div>
  6. <div class="right"></div>
  7. <div class="bottom"></div>
  8. <div class="left"></div>
  9. </div>
  10. </div>

我粘贴了一张图片,以便您可以看到我需要的结果:

http://www.sitepor500.com.br/index.php?q=criacao-site-seo&a

到目前为止,我使用absoluted定位元素来创建6个面,但我不知道如何使用CSS进行旋转.请不要JS!

非常感谢

解决方法

有大量的教程/示例显示如何执行此操作: Example 1 Example 2 Example 3 Example 4等.

从例2中拉出:

  1. .spinner div {
  2. position: absolute;
  3. width: 120px;
  4. height: 120px;
  5. border: 1px solid #ccc;
  6. background: rgba(255,255,0.8);
  7. Box-shadow: inset 0 0 20px rgba(0,0.2);
  8. text-align: center;
  9. line-height: 120px;
  10. font-size: 100px;
  11. }
  12.  
  13. .spinner .face1 {
  14. -webkit-transform: translateZ(60px);
  15. -ms-transform: translateZ(60px);
  16. transform: translateZ(60px);
  17. }
  18. .spinner .face2 {
  19. -webkit-transform: rotateY(90deg) translateZ(60px);
  20. -ms-transform: rotateY(90deg) translateZ(60px);
  21. transform: rotateY(90deg) translateZ(60px);
  22. }
  23. .spinner .face3 {
  24. -webkit-transform: rotateY(90deg) rotateX(90deg) translateZ(60px);
  25. -ms-transform: rotateY(90deg) rotateX(90deg) translateZ(60px);
  26. transform: rotateY(90deg) rotateX(90deg) translateZ(60px);
  27. }
  28. .spinner .face4 {
  29. -webkit-transform: rotateY(180deg) rotateZ(90deg) translateZ(60px);
  30. -ms-transform: rotateY(180deg) rotateZ(90deg) translateZ(60px);
  31. transform: rotateY(180deg) rotateZ(90deg) translateZ(60px);
  32. }
  33. .spinner .face5 {
  34. -webkit-transform: rotateY(-90deg) rotateZ(90deg) translateZ(60px);
  35. -ms-transform: rotateY(-90deg) rotateZ(90deg) translateZ(60px);
  36. transform: rotateY(-90deg) rotateZ(90deg) translateZ(60px);
  37. }
  38. .spinner .face6 {
  39. -webkit-transform: rotateX(-90deg) translateZ(60px);
  40. -ms-transform: rotateX(-90deg) translateZ(60px);
  41. transform: rotateX(-90deg) translateZ(60px);
  42. }
  43.  
  44. .spinner {
  45. -webkit-animation: spincube 12s ease-in-out infinite;
  46. animation: spincube 12s ease-in-out infinite;
  47. -webkit-transform-style: preserve-3d;
  48. -ms-transform-style: preserve-3d;
  49. transform-style: preserve-3d;
  50. -webkit-transform-origin: 60px 60px 0;
  51. -ms-transform-origin: 60px 60px 0;
  52. transform-origin: 60px 60px 0;
  53. }
  54.  
  55. @-webkit-keyframes spincube {
  56. 16% { -webkit-transform: rotateY(-90deg); }
  57. 33% { -webkit-transform: rotateY(-90deg) rotateZ(90deg); }
  58. 50% { -webkit-transform: rotateY(180deg) rotateZ(90deg); }
  59. 66% { -webkit-transform: rotateY(90deg) rotateX(90deg); }
  60. 83% { -webkit-transform: rotateX(90deg); }
  61. }
  62. @keyframes spincube {
  63. 16% { -ms-transform: rotateY(-90deg); transform: rotateY(-90deg); }
  64. 33% { -ms-transform: rotateY(-90deg) rotateZ(90deg); transform: rotateY(-90deg) rotateZ(90deg); }
  65. 50% { -ms-transform: rotateY(180deg) rotateZ(90deg); transform: rotateY(180deg) rotateZ(90deg); }
  66. 66% { -ms-transform: rotateY(90deg) rotateX(90deg); transform: rotateY(90deg) rotateX(90deg); }
  67. 83% { -ms-transform: rotateX(90deg); transform: rotateX(90deg); }
  68. }
  1. <div id="stage" style="width: 120px; height: 120px;">
  2. <div class="spinner">
  3. <div class="face1">1</div>
  4. <div class="face2">2</div>
  5. <div class="face3">3</div>
  6. <div class="face4">4</div>
  7. <div class="face5">5</div>
  8. <div class="face6">6</div>
  9. </div>
  10. </div>

猜你在找的CSS相关文章