当前位置:   article > 正文

JS特效第145弹:canvas画布3D的万花筒动画特效_canvas 3d

canvas 3d

         html5基于canvas绘制3D酷炫的万花筒无限延伸动画特效 ,先来看看效果:

        一部分关键的代码如下:

  1. <!DOCTYPE html>
  2. <html lang="en" >
  3. <head>
  4. <meta charset="UTF-8">
  5. <title>canvas画布3D的万花筒动画特效</title>
  6. <link rel="stylesheet" href="css/style.css">
  7. </head>
  8. <body>
  9. <style>
  10. css-doodle {
  11. --color: @p(#51eaea, #fffde1, #ff9d76, #FB3569);
  12. --rule: (
  13. :doodle {
  14. @grid: 30x1 / 18vmin;
  15. --deg: @p(-180deg, 180deg);
  16. }
  17. :container {
  18. perspective: 30vmin;
  19. }
  20. :after, :before {
  21. content: '';
  22. background: var(--color);
  23. @place-cell: @r(100%) @r(100%);
  24. @size: @r(6px);
  25. @shape: heart;
  26. }
  27. @place-cell: center;
  28. @size: 100%;
  29. box-shadow: @m(2, (0 0 50px var(--color)));
  30. background: @m(100, (
  31. radial-gradient(var(--color) 50%, transparent 0)
  32. @r(-20%, 120%) @r(-20%, 100%) / 1px 1px
  33. no-repeat
  34. ));
  35. will-change: transform, opacity;
  36. animation: scale-up 12s linear infinite;
  37. animation-delay: calc(-12s / @size() * @i());
  38. @keyframes scale-up {
  39. 0%, 95.01%, 100% {
  40. transform: translateZ(0) rotate(0);
  41. opacity: 0;
  42. }
  43. 10% {
  44. opacity: 1;
  45. }
  46. 95% {
  47. transform:
  48. translateZ(35vmin) rotateZ(@var(--deg));
  49. }
  50. }
  51. )
  52. }
  53. </style>
  54. <css-doodle use="var(--rule)"></css-doodle>
  55. <script src='js/css-doodle.min.js'></script>
  56. </body>
  57. </html>

        全部代码:canvas画布3D的万花筒动画特效

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/870974
推荐阅读
相关标签
  

闽ICP备14008679号