particles+svg实现圣诞下雪鼠标跟随轮廓绘制圣诞树效果代码
代码语言:html
所属分类:其他
代码描述:particles+svg实现圣诞下雪鼠标跟随轮廓绘制圣诞树效果代码
代码标签: particles svg 圣诞 下雪 鼠标 跟随 轮廓 绘制 圣诞树
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <style> body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background-color: #000; } .container { position: relative; width: 100%; max-width: 1000px; aspect-ratio: 1 / 1; cursor: none; } .base-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; object-fit: cover; } .final-image { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 2; clip-path: circle(0px at var(--x, 0px) var(--y, 0px)); will-change: clip-path; } .container:hover .final-image { clip-path: circle(10% at var(--x, 0px) var(--y, 0px)); } #particles-js { position: fixed; top: 0; left: 0; z-index: 3; width: 100vw; height: 100vh; overflow: hidden; } @media (max-width: 768px) { .container { max-width: 90%; } .container:hover .final-image { clip-path: circle(15% at var(--x, 0px) var(--y, 0px)); } } @media (max-width: 480px) { .container { max-width: 100%; } .container:hover .final-image { clip-path: circle(20% at var(--x, 0px) var(--y, 0px)); } } </style> </head> <body translate="no"> <div class="container"> <div id="particles-js"></div> <!-- Animated using SVGANIMA - https://svganima.com --> <svg width="100%" height="100%" viewBox="0 0 900 900" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" xml:space="preserve" xmlns:serif="http://www.serif.com/" style="fill-rule: evenodd; clip-rule: evenodd; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 1.5; fill: rgb(0, 0, 0); stroke: none; stroke-width: 1px; opacity: 1; filter: none;" id="svg4571" preserveAspectRatio="xMidYMid" class="base-image"> <defs id="defs2515"></defs> <g id="LINES" style="fill: rgb(0, 0, 0); stroke: none; stroke-width: 1px; stroke-linejoin: round; stroke-linecap: round; stroke-miterlimit: 1.5; opacity: 1; filter: none;"> <g id="Sly-right" transform="matrix(0.76769,0,0,0.76769,104.039,2.48585)"> <path d="M 450 0 C 698.362 0 900 201.638 900 450 C 900 510.617 887.989 568.451 866.218 621.249" style="fill: none; stroke: rgb(66, 138, 171); stroke-width: 3.91px; stroke-linejoin: round; stroke-linecap: round; stroke-miterlimit: 1.5; opacity: 1; filter: none; stroke-dasharray: 883px; stroke-dashoffset: 883px;" id="path6355"> <animate attributeType="auto" attributeName="stroke-dashoffset" values="-883;-883;0;0" calcMode="spline" keyTimes="0; 0.008862530818951156; 0.026717531818484706; 1" keySplines=".5 .5 .5 1;.5 .5 .5 1;.5 .5 .5 1" dur="300.14s" begin="0s" repeatCount="1" additive="replace" accumulate="none" id="animate9687" style="stroke: rgb(66, 138, 171); stroke-width: 3.91px; stroke-linejoin: round; stroke-linecap: round; stroke-miterlimit: 1.5; opacity: 1; filter: none; fill: none;"></animate> </path> </g> <g id="Sly-left" transform="matrix(0.76769,0,0,0.76769,104.039,2.48585)"> <path d="M 39.493 634.489 C 14.121 578.179 0 515.726 0 450 C 0 201.638 201.638 0 450 0" style="fill: none; stroke: rgb(66, 138, 171); stroke-width: 3.91px; stroke-linejoin: round; stroke-linecap: round; stroke-miterlimit: 1.5; opacity: 1; filter: none; stroke-dasharray: 897px; stroke-dashoffset: 897px;" id="path9279"> <animate attributeType="auto" attributeName="stroke-dashoffset" values="897;897;0;0" calcMode="spline" keyTimes="0; 0.011994402612114347; 0.026717531818484706; 1" keySplines=".5 .5 .5 1;.5 .5 .5 1;.5 .5 .5 1" dur="300.14s" begin="0s" repeatCount="1" additive="replace" accumulate="none" id="animate5718" style="stroke: rgb(66, 138, 171); stroke-width: 3.91px; stroke-linejoin: round; stroke-linecap: round; stroke-miterlimit: 1.5; opacity: 1; filter: none; fill: none;"></animate> </path> </g> <g id="Trees-left" transform="matrix(0.766838,0,0,0.766838,104.806,-0.233162)"> <path d="M 450.152 1173.95 C 450.152 1173.95 450.152 1193.52 450.152 1173.95 C 450.152 901.558 304.081 941.914 134.817 776.297 C 94.705 737.119 61.869 690.525 38.537 638.74 C 51.675 605.276 60.938 571.642 60.834 535.033 C 69.933 558.016 77.378 581.745 87.599 604.27 C 95.844 622.441 105.748 639.283 112.427 658.17 C 106.789 655.307 101.031 652.713 95.139 650.53 C 100.784 663.367 106.529 676.172 112.253 688.979 C 117.424 673.177 122.934 657.733 128.842 642.366 C 124.204 644.448 119.573 646.544 114.939 648.645 C 124.468 616.894 143.448 587.779 153.607 555.799 C 156.134 572.122 156.464 588.922 160.735 604.938 C 165.1 621.309 173.549 634.714 181.936 649.175 C 177.151 648.754 172.111 648.279 167.083 647.505 C 169.977 652.115 173.196 656.867 176.73 661.984 C 177.629 663.285 178.515 664.592 179.389 665.903 C 188.732 641.076 198.76 616.814 211.547 593.133 C 202.098 596.985 192.67 600.881 183.39 605.071 C 193.4 583.939 205.478 563.494 214.83 542.133 C 217.287 536.522 219.345 530.878 221.124 525.199 C 214.184 528.299 207.089 531.139 200.185 534.069 C 213.481 500.074 217.416 464.381 228.772 429.924 C 236.065 465.693 258.504 490.381 278.088 520.886 C 273.617 520.348 269.178 519.757 264.756 519.109 C 267.824 523.274 270.788 527.5 273.556 531.844" style="fill: none; stroke: rgb(59, 83, 139); stroke-width: 3.91px; stroke-linecap: round; stroke-miterlimit: 2; stroke-linejoin: round; opacity: 1; filter: none; stroke-dasharray: 1800px; stroke-dashoffset: 1800px;" id="path4604"> <animate attributeType="auto" attributeName="stroke-dashoffset" values="1800;0;0" calcMode="spline" keyTimes="0; 0.026717531818484706; 1" keySplines=".5 0 .5 1;.5 0 .5 1" dur="300.14s" begin="0s" repeatCount="1" additive="replace" accumulate="none" id="animate4776" style="stroke: rgb(59, 83, 139); stroke-width: 3.91px; stroke-linejoin: round; stroke-linecap: butt; stroke-miterlimit: 2; opacity: 1; filter: none; fill: none;"></animate> </path> .........完整代码请登录后点击上方下载按钮下载查看
网友评论0