文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

怎么用HTML5制作3D爱心动画

2024-04-02 19:55

关注

这篇文章主要讲解了“怎么用HTML5制作3D爱心动画”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么用HTML5制作3D爱心动画”吧!

  谁说程序员不懂得浪漫,看看程序员是怎么浪漫的,今天小编在国外的网站上看到一个利用HTML5和CSS3制作的3D爱心动画,在情人节时送给心爱的人,还是非常不错的。当然了。背景我们可以用一些浪漫元素。如加上女朋友漂亮的照片。这样可以制作一个廉价又很有意义的情人节礼物。大家可以点解DEMO来看看。先上效果图:

怎么用HTML5制作3D爱心动画

  实现代码如下:

  html代码:

XML/HTML Code复制内容到剪贴板

  1. <div class=&rsquo;heart3d&rsquo;>  

  2. <div class=&rsquo;rib1&prime;></div>  

  3. <div class=&rsquo;rib2&prime;></div>  

  4. <div class=&rsquo;rib3&prime;></div>  

  5. <div class=&rsquo;rib4&prime;></div>  

  6. <div class=&rsquo;rib5&prime;></div>  

  7. <div class=&rsquo;rib6&prime;></div>  

  8. <div class=&rsquo;rib7&prime;></div>  

  9. <div class=&rsquo;rib8&prime;></div>  

  10. <div class=&rsquo;rib9&prime;></div>  

  11. <div class=&rsquo;rib10&prime;></div>  

  12. <div class=&rsquo;rib11&prime;></div>  

  13. <div class=&rsquo;rib12&prime;></div>  

  14. <div class=&rsquo;rib13&prime;></div>  

  15. <div class=&rsquo;rib14&prime;></div>  

  16. <div class=&rsquo;rib15&prime;></div>  

  17. <div class=&rsquo;rib16&prime;></div>  

  18. <div class=&rsquo;rib17&prime;></div>  

  19. <div class=&rsquo;rib18&prime;></div>  

  20. <div class=&rsquo;rib19&prime;></div>  

  21. <div class=&rsquo;rib20&prime;></div>  

  22. <div class=&rsquo;rib21&prime;></div>  

  23. <div class=&rsquo;rib22&prime;></div>  

  24. <div class=&rsquo;rib23&prime;></div>  

  25. <div class=&rsquo;rib24&prime;></div>  

  26. <div class=&rsquo;rib25&prime;></div>  

  27. <div class=&rsquo;rib26&prime;></div>  

  28. <div class=&rsquo;rib27&prime;></div>  

  29. <div class=&rsquo;rib28&prime;></div>  

  30. <div class=&rsquo;rib29&prime;></div>  

  31. <div class=&rsquo;rib30&prime;></div>  

  32. <div class=&rsquo;rib31&prime;></div>  

  33. <div class=&rsquo;rib32&prime;></div>  

  34. <div class=&rsquo;rib33&prime;></div>  

  35. <div class=&rsquo;rib34&prime;></div>  

  36. <div class=&rsquo;rib35&prime;></div>  

  37. <div class=&rsquo;rib36&prime;></div>  

  38. </div>  

  这么多div,主要是构造爱心的线条区域。

  CSS代码:

CSS Code复制内容到剪贴板

  1. .heart3d {   

  2.   position: absolute;   

  3.   top: 0;   

  4.   rightright: 0;   

  5.   bottombottom: 0;   

  6.   left: 0;   

  7.   margin: auto;   

  8.   width: 100px;   

  9.   height: 160px;   

  10.   -webkit-transform-style: preserve-3d;   

  11.   transform-style: preserve-3d;   

  12.   -webkit-animation: spin 15s infinite linear;   

  13.   animation: spin 15s infinite linear;   

  14. }   

  15. .heart3d [class^="rib"] {   

  16.   position: absolute;   

  17.   width: 100px;   

  18.   height: 160px;   

  19.   border: solid #f22613;   

  20.   border-width: 1px 1px 0 0;   

  21.   border-radius: 50% 50% 0 / 40% 50% 0;   

  22. }   

  23. .heart3d [class$="1"] {   

  24.   -webkit-transform: rotateY(10deg) rotateZ(45deg) translateX(30px);   

  25.   transform: rotateY(10deg) rotateZ(45deg) translateX(30px);   

  26. }   

  27. .heart3d [class$="2"] {   

  28.   -webkit-transform: rotateY(20deg) rotateZ(45deg) translateX(30px);   

  29.   transform: rotateY(20deg) rotateZ(45deg) translateX(30px);   

  30. }   

  31. .heart3d [class$="3"] {   

  32.   -webkit-transform: rotateY(30deg) rotateZ(45deg) translateX(30px);   

  33.   transform: rotateY(30deg) rotateZ(45deg) translateX(30px);   

  34. }   

  35. .heart3d [class$="4"] {   

  36.   -webkit-transform: rotateY(40deg) rotateZ(45deg) translateX(30px);   

  37.   transform: rotateY(40deg) rotateZ(45deg) translateX(30px);   

  38. }   

  39. .heart3d [class$="5"] {   

  40.   -webkit-transform: rotateY(50deg) rotateZ(45deg) translateX(30px);   

  41.   transform: rotateY(50deg) rotateZ(45deg) translateX(30px);   

  42. }   

  43. .heart3d [class$="6"] {   

  44.   -webkit-transform: rotateY(60deg) rotateZ(45deg) translateX(30px);   

  45.   transform: rotateY(60deg) rotateZ(45deg) translateX(30px);   

  46. }   

  47. .heart3d [class$="7"] {   

  48.   -webkit-transform: rotateY(70deg) rotateZ(45deg) translateX(30px);   

  49.   transform: rotateY(70deg) rotateZ(45deg) translateX(30px);   

  50. }   

  51. .heart3d [class$="8"] {   

  52.   -webkit-transform: rotateY(80deg) rotateZ(45deg) translateX(30px);   

  53.   transform: rotateY(80deg) rotateZ(45deg) translateX(30px);   

  54. }   

  55. .heart3d [class$="9"] {   

  56.   -webkit-transform: rotateY(90deg) rotateZ(45deg) translateX(30px);   

  57.   transform: rotateY(90deg) rotateZ(45deg) translateX(30px);   

  58. }   

  59. .heart3d [class$="10"] {   

  60.   -webkit-transform: rotateY(100deg) rotateZ(45deg) translateX(30px);   

  61.   transform: rotateY(100deg) rotateZ(45deg) translateX(30px);   

  62. }   

  63. .heart3d [class$="11"] {   

  64.   -webkit-transform: rotateY(110deg) rotateZ(45deg) translateX(30px);   

  65.   transform: rotateY(110deg) rotateZ(45deg) translateX(30px);   

  66. }   

  67. .heart3d [class$="12"] {   

  68.   -webkit-transform: rotateY(120deg) rotateZ(45deg) translateX(30px);   

  69.   transform: rotateY(120deg) rotateZ(45deg) translateX(30px);   

  70. }   

  71. .heart3d [class$="13"] {   

  72.   -webkit-transform: rotateY(130deg) rotateZ(45deg) translateX(30px);   

  73.   transform: rotateY(130deg) rotateZ(45deg) translateX(30px);   

  74. }   

  75. .heart3d [class$="14"] {   

  76.   -webkit-transform: rotateY(140deg) rotateZ(45deg) translateX(30px);   

  77.   transform: rotateY(140deg) rotateZ(45deg) translateX(30px);   

  78. }   

  79. .heart3d [class$="15"] {   

  80.   -webkit-transform: rotateY(150deg) rotateZ(45deg) translateX(30px);   

  81.   transform: rotateY(150deg) rotateZ(45deg) translateX(30px);   

  82. }   

  83. .heart3d [class$="16"] {   

  84.   -webkit-transform: rotateY(160deg) rotateZ(45deg) translateX(30px);   

  85.   transform: rotateY(160deg) rotateZ(45deg) translateX(30px);   

  86. }   

  87. .heart3d [class$="17"] {   

  88.   -webkit-transform: rotateY(170deg) rotateZ(45deg) translateX(30px);   

  89.   transform: rotateY(170deg) rotateZ(45deg) translateX(30px);   

  90. }   

  91. .heart3d [class$="18"] {   

  92.   -webkit-transform: rotateY(180deg) rotateZ(45deg) translateX(30px);   

  93.   transform: rotateY(180deg) rotateZ(45deg) translateX(30px);   

  94. }   

  95. .heart3d [class$="19"] {   

  96.   -webkit-transform: rotateY(190deg) rotateZ(45deg) translateX(30px);   

  97.   transform: rotateY(190deg) rotateZ(45deg) translateX(30px);   

  98. }   

  99. .heart3d [class$="20"] {   

  100.   -webkit-transform: rotateY(200deg) rotateZ(45deg) translateX(30px);   

  101.   transform: rotateY(200deg) rotateZ(45deg) translateX(30px);   

  102. }   

  103. .heart3d [class$="21"] {   

  104.   -webkit-transform: rotateY(210deg) rotateZ(45deg) translateX(30px);   

  105.   transform: rotateY(210deg) rotateZ(45deg) translateX(30px);   

  106. }   

  107. .heart3d [class$="22"] {   

  108.   -webkit-transform: rotateY(220deg) rotateZ(45deg) translateX(30px);   

  109.   transform: rotateY(220deg) rotateZ(45deg) translateX(30px);   

  110. }   

  111. .heart3d [class$="23"] {   

  112.   -webkit-transform: rotateY(230deg) rotateZ(45deg) translateX(30px);   

  113.   transform: rotateY(230deg) rotateZ(45deg) translateX(30px);   

  114. }   

  115. .heart3d [class$="24"] {   

  116.   -webkit-transform: rotateY(240deg) rotateZ(45deg) translateX(30px);   

  117.   transform: rotateY(240deg) rotateZ(45deg) translateX(30px);   

  118. }   

  119. .heart3d [class$="25"] {   

  120.   -webkit-transform: rotateY(250deg) rotateZ(45deg) translateX(30px);   

  121.   transform: rotateY(250deg) rotateZ(45deg) translateX(30px);   

  122. }   

  123. .heart3d [class$="26"] {   

  124.   -webkit-transform: rotateY(260deg) rotateZ(45deg) translateX(30px);   

  125.   transform: rotateY(260deg) rotateZ(45deg) translateX(30px);   

  126. }   

  127. .heart3d [class$="27"] {   

  128.   -webkit-transform: rotateY(270deg) rotateZ(45deg) translateX(30px);   

  129.   transform: rotateY(270deg) rotateZ(45deg) translateX(30px);   

  130. }   

  131. .heart3d [class$="28"] {   

  132.   -webkit-transform: rotateY(280deg) rotateZ(45deg) translateX(30px);   

  133.   transform: rotateY(280deg) rotateZ(45deg) translateX(30px);   

  134. }   

  135. .heart3d [class$="29"] {   

  136.   -webkit-transform: rotateY(290deg) rotateZ(45deg) translateX(30px);   

  137.   transform: rotateY(290deg) rotateZ(45deg) translateX(30px);   

  138. }   

  139. .heart3d [class$="30"] {   

  140.   -webkit-transform: rotateY(300deg) rotateZ(45deg) translateX(30px);   

  141.   transform: rotateY(300deg) rotateZ(45deg) translateX(30px);   

  142. }   

  143. .heart3d [class$="31"] {   

  144.   -webkit-transform: rotateY(310deg) rotateZ(45deg) translateX(30px);   

  145.   transform: rotateY(310deg) rotateZ(45deg) translateX(30px);   

  146. }   

  147. .heart3d [class$="32"] {   

  148.   -webkit-transform: rotateY(320deg) rotateZ(45deg) translateX(30px);   

  149.   transform: rotateY(320deg) rotateZ(45deg) translateX(30px);   

  150. }   

  151. .heart3d [class$="33"] {   

  152.   -webkit-transform: rotateY(330deg) rotateZ(45deg) translateX(30px);   

  153.   transform: rotateY(330deg) rotateZ(45deg) translateX(30px);   

  154. }   

  155. .heart3d [class$="34"] {   

  156.   -webkit-transform: rotateY(340deg) rotateZ(45deg) translateX(30px);   

  157.   transform: rotateY(340deg) rotateZ(45deg) translateX(30px);   

  158. }   

  159. .heart3d [class$="35"] {   

  160.   -webkit-transform: rotateY(350deg) rotateZ(45deg) translateX(30px);   

  161.   transform: rotateY(350deg) rotateZ(45deg) translateX(30px);   

  162. }   

  163. .heart3d [class$="36"] {   

  164.   -webkit-transform: rotateY(360deg) rotateZ(45deg) translateX(30px);   

  165.   transform: rotateY(360deg) rotateZ(45deg) translateX(30px);   

  166. }  

  对这些线条进行渲染,以便其有3D的视觉效果。

  然后定义了一组名称为spin的HTML5动画

CSS Code复制内容到剪贴板

  1. @-webkit-keyframes spin {   

  2.   to {   

  3.     -webkit-transform: rotateY(360deg) rotateX(360deg);   

  4.     transform: rotateY(360deg) rotateX(360deg);   

  5.   }   

  6. }   

  7.   

  8. @keyframes spin {   

  9.   to {   

  10.     -webkit-transform: rotateY(360deg) rotateX(360deg);   

  11.     transform: rotateY(360deg) rotateX(360deg);   

  12.   }   

  13. }  

感谢各位的阅读,以上就是“怎么用HTML5制作3D爱心动画”的内容了,经过本文的学习后,相信大家对怎么用HTML5制作3D爱心动画这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是编程网,小编将为大家推送更多相关知识点的文章,欢迎关注!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-前端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯