首頁 >web前端 >H5教程 >HTML5製作3D愛心動畫教學 獻給女友浪漫的禮物_html5教學技巧

HTML5製作3D愛心動畫教學 獻給女友浪漫的禮物_html5教學技巧

WBOY
WBOY原創
2016-05-16 15:47:183819瀏覽

  誰說程式設計師不懂得浪漫,看看程式設計師是怎麼浪漫的,今天小編在國外的網站上看到一個利用HTML5和CSS3製作的3D愛心動畫,在情人節時送給心愛的人,還是非常不錯的。當然了。背景我們可以用一些浪漫元素。如加上女朋友漂亮的照片。這樣可以製作一個便宜又有意義的情人節禮物。大家可以點解DEMO來看看。先上效果圖:

  實作程式碼如下:

  html代碼:

XML/HTML Code複製內容到剪貼簿
  1. div class='heart3d'class='heart3d'class  
  2. div class='rib1′class='rib1′> div
  3. >   div class='rib2′class='rib2′
  4. div>   div class='rib33′class='rib3′
  5. >
  6. div>   div class='rib4′
  7. class
  8. ='rib4′ div>   div class
  9. ='rib557>class='rib557class='rib557class='rib55′div>  
  10. div class='rib6′class='rib6′div>  
  11. div class='rib777 class='rib77′ > div>  
  12. div class='rib87class='rib8′′ div>
  13.   
  14. div class='rib99′ div>  
  15. div class='rib1007class='rib100′ div>
  16.    div class='rib11117class='rib11117div
  17. >   div class='rib12′class='rib12′='rib12′
  18. div>   div class='rib133>class='rib133′div>  
  19. div class='rib14′class='rib14′='rib14′='rib14′
  20. div>   div class='rib1557>class
  21. ='rib15557 div>   div class
  22. ='rib16′class='rib16′='rib16′ div>  
  23. div class='rib1777div>  
  24. div class='rib188class='rib188div>  
  25. div class='rib199>class='rib199's> >div>  
  26. div class='rib20′class='rib20′ div>
  27.    div class='rib21′class='rib21′
  28. div
  29. >   div class='rib2222222222277='rib222222222222222222222:
  30. div
  31. >   div class='rib23′class='rib233′
  32. div>  
  33. div class='rib24′class ='rib24′
  34. >div>   div 
  35. class
  36. ='rib255>class='rib25555555553737373737分>>div>   div
  37.  class='rib26′class='rib26′ div>   div class='rib2777class='rib27777777777 div>  
  38. div class='rib2888class='rib2888div>  
  39. div class='rib29′class='rib29′='rib29′
  40. div>   div class='rib3007class='rib30′
  41. div>   div class='rib31′
  42. class='rib31′
  43. div>   div 
  44. class='rib32′class='rib32′div>  
  45. div
  46.  class='rib33333>class='rib3333333333333337div>  
  47. div class='rib344>class='rib34′='rib34′>div>
  48.   
  49. div class='rib35′ > div>
  50.   
  51. div 
  52. class
='rib36′
class

='rib36′

='rib36′
>div
>   div>   這麼多div,主要是建構汽車的線條區域。 CSS代碼: CSS 代碼 將內容複製到剪切板
  1. .heart3d {   
  2.   位置絕對;  
  3.   上方:0;   
  4.   右邊:0;   
  5.   底部底部:0;   
  6.   :0;   
  7.   邊距自動;   
  8. ;   ;   ;   ;   
  9. ;   ;   ;   ;
  10.   寬度
  11. 100px
  12. ;   
  13. ;   
  14.   高度
  15. 160px;   
  16. ;   
  17.   -webkit-transform-style: preserve-3d;      轉換樣式: preserve-3d;  
  18. -webkit-animation:旋轉 15 秒無限線性;      動畫:旋轉 15 秒無限線性;    }   
  19. .heart3d [class^="肋骨"] {      位置
  20. 絕對;     寬度
  21. 100px
  22. ;   ;      高度
  23. 160px
  24. ;   ;   
  25.   
  26. 邊框
  27. 實心 
  28.   邊框寬度
  29. 1px
  30.  
  31.   
  32. 邊框
  33. -半徑:50% 50% 0 / 40% 50% 0;   
  34. }   
  35. .heart3d [class$=
  36. "1"] {   
  37.   -webkit-transform: rotateY(10deg) rotateZ(45deg) translateX(
  38. 30px);   >   轉換: rotateY(10deg) rotateZ(45deg) translateX(
  39. 30px
  40. );   
  41. );    }   
  42. .heart3d [class$="2"] {   
  43.   -webkit-transform: rotateY(20deg) rotateZ(45deg) translateX(30px);   >   轉換: rotateY(20deg) rotateZ(45deg) translateX(
  44. 30px);   );    }    .heart3d [class$="3"] {      -webkit-transform: rotateY(30deg) rotateZ(45deg) translateX(30px);   >   轉換: rotateY(30deg) rotateZ(45deg) translateX(30px);   );    }  
  45. .heart3d [class$="4"] {   
  46.   -webkit-transform: rotateY(40deg) rotateZ(45deg) translateX(30px);   
  47.   轉換: rotateY(40deg) rotateZ(45deg) translateX(30px);   
  48. }   
  49. .heart3d [class$="5"] {   
  50.   -webkit-transform: rotateY(50deg) rotateZ(45deg) translateX(30px);   
  51.   轉換: rotateY(50deg) rotateZ(45deg) translateX(30px);   
  52. }   
  53. .heart3d [class$="6"] {   
  54.   -webkit-transform: rotateY(60deg) rotateZ(45deg) translateX(30px);   
  55.   轉換: rotateY(60deg) rotateZ(45deg) translateX(30px);   
  56. }   
  57. .heart3d [class$="7"] {   
  58.   -webkit-transform: rotateY(70deg) rotateZ(45deg) translateX(30px);   
  59.   轉換: rotateY(70deg) rotateZ(45deg) translateX(30px);   
  60. }   
  61. .heart3d [class$="8"] {   
  62.   -webkit-transform: rotateY(80deg) rotateZ(45deg) translateX(30px);   
  63.   轉換: rotateY(80deg) rotateZ(45deg) translateX(30px);   
  64. }   
  65. .heart3d [class$="9"] {   
  66.   -webkit-transform: rotateY(90deg) rotateZ(45deg) translateX(30px);   
  67.   轉換: rotateY(90deg) rotateZ(45deg) translateX(30px);   
  68. }   
  69. .heart3d [class$="10"] {   
  70.   -webkit-transform: rotateY(100deg) rotateZ(45deg) translateX(30px);   
  71.   轉換: rotateY(100deg) rotateZ(45deg) translateX(30px);   
  72. }   
  73. .heart3d [class$="11"] {   
  74.   -webkit-transform: rotateY(110deg) rotateZ(45deg) translateX(30px);   
  75.   轉換: rotateY(110deg) rotateZ(45deg) translateX(30px);   
  76. }   
  77. .heart3d [class$="12"] {   
  78.   -webkit-transform: rotateY(120deg) rotateZ(45deg) translateX(30px);   
  79.   轉換: rotateY(120deg) rotateZ(45deg) translateX(30px);   
  80. }  
  81. .heart3d [class$="13"] {   
  82.   -webkit-transform: rotateY(130deg) rotateZ(45deg) translateX(30px);   
  83.   轉換: rotateY(130deg) rotateZ(45deg) translateX(30px);   
  84. }   
  85. .heart3d [class$="14"] {   
  86.   -webkit-transform: rotateY(140deg) rotateZ(45deg) translateX(30px);   
  87.   轉換: rotateY(140deg) rotateZ(45deg) translateX(30px);   
  88. }   
  89. .heart3d [class$="15"] {   
  90.   -webkit-transform: rotateY(150deg) rotateZ(45deg) translateX(30px);   
  91.   轉換: rotateY(150deg) rotateZ(45deg) translateX(30px);   
  92. }   
  93. .heart3d [class$="16"] {   
  94.   -webkit-transform: rotateY(160deg) rotateZ(45deg) translateX(30px);   
  95.   轉換: rotateY(160deg) rotateZ(45deg) translateX(30px);   
  96. }   
  97. .heart3d [class$="17"] {   
  98.   -webkit-transform: rotateY(170deg) rotateZ(45deg) translateX(30px);   
  99.   轉換: rotateY(170deg) rotateZ(45deg) translateX(30px);   
  100. }   
  101. .heart3d [class$="18"] {   
  102.   -webkit-transform: rotateY(180deg) rotateZ(45deg) translateX(30px);   
  103.   轉換: rotateY(180deg) rotateZ(45deg) translateX(30px);   
  104. }   
  105. .heart3d [class$="19"] {   
  106.   -webkit-transform: rotateY(190deg) rotateZ(45deg) translateX(30px);   
  107.   轉換: rotateY(190deg) rotateZ(45deg) translateX(30px);   
  108. }   
  109. .heart3d [class$="20"] {   
  110.   -webkit-transform: rotateY(200deg) rotateZ(45deg) translateX(30px);   
  111.   轉換: rotateY(200deg) rotateZ(45deg) translateX(30px);   
  112. }   
  113. .heart3d [class$="21"] {   
  114.   -webkit-transform: rotateY(210deg) rotateZ(45deg) translateX(30px);   
  115.   轉換: rotateY(210deg) rotateZ(45deg) translateX(30px);   
  116. }  
  117. .heart3d [class$="22"] {   
  118.   -webkit-transform: rotateY(220deg) rotateZ(45deg) translateX(30px);   
  119.   轉換: rotateY(220deg) rotateZ(45deg) translateX(30px);   
  120. }   
  121. .heart3d [class$="23"] {   
  122.   -webkit-transform: rotateY(230deg) rotateZ(45deg) translateX(30px);   
  123.   轉換: rotateY(230deg) rotateZ(45deg) translateX(30px);   
  124. }   
  125. .heart3d [class$="24"] {   
  126.   -webkit-transform: rotateY(240deg) rotateZ(45deg) translateX(30px);   
  127.   轉換: rotateY(240deg) rotateZ(45deg) translateX(30px);   
  128. }   
  129. .heart3d [class$="25"] {   
  130.   -webkit-transform: rotateY(250deg) rotateZ(45deg) translateX(30px);   
  131.   轉換: rotateY(250deg) rotateZ(45deg) translateX(30px);   
  132. }   
  133. .heart3d [class$="26"] {   
  134.   -webkit-transform: rotateY(260deg) rotateZ(45deg) translateX(30px);   
  135.   轉換: rotateY(260deg) rotateZ(45deg) translateX(30px);   
  136. }   
  137. .heart3d [class$="27"] {   
  138.   -webkit-transform: rotateY(270deg) rotateZ(45deg) translateX(30px);   
  139.   轉換: rotateY(270deg) rotateZ(45deg) translateX(30px);   
  140. }   
  141. .heart3d [class$="28"] {   
  142.   -webkit-transform: rotateY(280deg) rotateZ(45deg) translateX(30px);   
  143.   轉換: rotateY(280deg) rotateZ(45deg) translateX(30px);   
  144. }   
  145. .heart3d [class$="29"] {   
  146.   -webkit-transform: rotateY(290deg) rotateZ(45deg) translateX(30px);   
  147.   轉換: rotateY(290deg) rotateZ(45deg) translateX(30px);   
  148. }   
  149. .heart3d [class$="30"] {   
  150.   -webkit-transform: rotateY(300deg) rotateZ(45deg) translateX(30px);   
  151.   轉換: rotateY(300deg) rotateZ(45deg) translateX(30px);   
  152. }  
  153. .heart3d [class$="31"] {   
  154.   -webkit-transform: rotateY(310deg) rotateZ(45deg) translateX(30px);   
  155.   轉換: rotateY(310deg) rotateZ(45deg) translateX(30px);   
  156. }   
  157. .heart3d [class$="32"] {   
  158.   -webkit-transform: rotateY(320deg) rotateZ(45deg) translateX(30px);   
  159.   轉換: rotateY(320deg) rotateZ(45deg) translateX(30px);   
  160. }   
  161. .heart3d [class$="33"] {   
  162.   -webkit-transform: rotateY(330deg) rotateZ(45deg) translateX(30px);   
  163.   轉換: rotateY(330deg) rotateZ(45deg) translateX(30px);   
  164. }   
  165. .heart3d [class$="34"] {   
  166.   -webkit-transform: rotateY(340deg) rotateZ(45deg) translateX(30px);   
  167.   轉換: rotateY(340deg) rotateZ(45deg) translateX(30px);   
  168. }   
  169. .heart3d [class$="35"] {   
  170.   -webkit-transform: rotateY(350deg) rotateZ(45deg) translateX(30px);   
  171.   轉換: rotateY(350deg) rotateZ(45deg) translateX(30px);   
  172. }   
  173. .heart3d [class$="36"] {   
  174.   -webkit-transform: rotateY(360deg) rotateZ(45deg) translateX(30px);   
  175.   轉換: rotateY(360deg) rotateZ(45deg) translateX(30px);   
  176. }  

對這些線條進行渲染,從而產生3D的視覺效果。

然後定義了一組名稱為spin的HTML5動畫

CSS 代碼 將內容複製到剪切板
  1. @-webkit-keyframes 旋轉 {   
  2.   至 {   
  3.     -webkit-transform:旋轉Y(360度)旋轉X(360度);  
  4.     轉換:旋轉Y(360度)旋轉X(360度);  
  5.   }   
  6. }   
  7.   
  8. @keyframes 旋轉 {   
  9.   至 {   
  10.     -webkit-transform:旋轉Y(360度)旋轉X(360度);  
  11.     轉換:旋轉Y(360度)旋轉X(360度);  
  12.   }   
  13. }  

上記は HTML コードと CSS コードによって実現される 3D の愛のアニメーション効果です。ロマンチックな若い男性は、それを学んで別の友情スキルを身につけることができます。引き続きご注目ください。より優れた記事を共有できるように努めます。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn