當前位置:
首頁 > 知識 > CSS3旋轉跳躍的立方體

CSS3旋轉跳躍的立方體

實現3d效果旋轉跳躍的立方體,CSS3中具有的perspective就是為了設置井深,創建一個3D的環境,而transform-style就是為了創建3d環境。

井深:指視覺與平面的距離,使具有三維位置變換的元素產生透視效果,就是我們理解的【Z軸】。 從視覺上觀察,值越大看起來距自己越近,元素整體越大;值越小,越遠,元素整體越小。在設計中給需要3D的盒子的父級設置井深,讓其具有立體透視效果 ,通常perspective使用的值800px或者1200px ,這兩個值從視覺上看比較舒服,也可以根據需求自行設置。

首先,需要創建一個大盒子div將立方體包裹起來,以便在css樣式中固定六個面的位置:

  1. <div class="wrap">
  2. <div class="cube">
  3. <div class="front">前</div>
  4. <div class="back">後</div>
  5. <div class="left">左</div>
  6. <div class="right">右</div>
  7. <div class="top">上</div>
  8. <div class="bottom">下</div>
  9. </div>
  10. </div>

在CSS中添加相關的樣式如下:

  1. * {
  2. padding: 0px;
  3. margin: 0px;
  4. }
  5. .wrap{
  6. margin-top: 200px;
  7. margin-left: 500px;
  8. /*設置井深、透視*/
  9. perspective: 800px;
  10. /*視覺來源,透視效果*/
  11. perspective-origin: 50% 100px;
  12. }
  13. .cube{
  14. position: relative;
  15. width: 200px;
  16. /*創建3d環境*/
  17. transform-style: preserve-3d;
  18. }
  19. .cube div{
  20. position: absolute;
  21. width: 200px;
  22. height: 200px;
  23. /*添加內陰影*/
  24. box-shadow: 5px 5px 50px plum inset;
  25. border: 1px gainsboro solid;
  26. }
  27. /*旋轉設置立方體的六個面*/
  28. .front {
  29. transform: translateZ(100px);
  30. }
  31. .back {
  32. transform: translateZ(-100px) rotateY(180deg);
  33. }
  34. .right {
  35. transform: rotateY(-270deg) translateX(100px);
  36. /*改變元素位置*/
  37. transform-origin: top right;
  38. }
  39. .left {
  40. transform: rotateY(270deg) translateX(-100px);
  41. transform-origin: center left;
  42. }
  43. .top {
  44. transform: rotateX(-90deg) translateY(-100px);
  45. transform-origin: top center;
  46. }
  47. .bottom {
  48. transform: rotateX(90deg) translateY(100px);
  49. transform-origin: bottom center;
  50. }

演示靜態效果:

CSS3旋轉跳躍的立方體

在CSS樣式中添加動態效果:

  1. /*幀動畫,旋轉角度*/
  2. @keyframes spin {
  3. from { transform:rotateX(0) rotateY(0) rotateZ(0) ; }
  4. to { transform: rotateX(360deg) rotateY(360deg) rotateZ(360deg); }
  5. }
  6. /*旋轉速度*/
  7. .cube {
  8. animation: spin 10s infinite linear;
  9. }

CSS3旋轉跳躍的立方體

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 程序員小新人學習 的精彩文章:

Matlab對深度學習工具包DeepLearnToolbox的例子實現
初始化git的初始化用戶信息

TAG:程序員小新人學習 |