鱼C论坛

 找回密码
 立即注册
查看: 2878|回复: 4

[作品展示] 【HTML】落雪特效

[复制链接]
发表于 2022-1-24 21:48:53 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 ckblt 于 2022-1-25 19:38 编辑

我做了个落雪特效,分享给大家。
Github:加速的github链接或者默认的github链接
<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Snow</title>

    <style>
      * {
        margin: 0;
        padding: 0;
      }

      body {
        max-width: 100vw;
        max-height: 100vh;
        overflow: hidden;
        background-color: #4b495a;
      }

      .snow {
        position: absolute;
        width: var(--size);
        height: var(--size);
        top: var(--top);
        left: var(--left);
        border-radius: 50%;
        opacity: 0.7;
        background-color: #bfc8d6;
        filter: blur(calc(var(--size) / 5));
      }
      #text {
        display: flex;
        justify-content: center;
        align-items: center;
        flex-direction: column;
        min-height: 100vh;
        color: #9ca2ac;
      }
      #text h1 {
        font-size: 200px;
        filter: blur(5px);
      }
      #text p {
        font-size: 30px;
        filter: blur(1.5px);
      }
    </style>
  </head>
  <body>
    <div id="text">
      <h1>SNOW</h1>
      <p>Simple snow effect.</p>
    </div>

    <script>
      function random(x, y) {
        return Math.random() * (x - y) + y;
      }
      setInterval(() => {
        const snow = document.createElement('div');
        let t = 0;
        let speed = random(3, 5);
        let l = random(0, window.innerWidth + 100);
        snow.style.setProperty('--size', `${random(5, 20)}px`);
        snow.style.setProperty('--top', `${t}px`);
        snow.style.setProperty('--left', `${l}px`);
        snow.classList.add('snow');
        setInterval(() => {
          if (t > window.innerHeight || l < 0) {
            snow.remove();
          }
          snow.style.setProperty('--top', `${t}px`);
          snow.style.setProperty('--left', `${l}px`);
          l += -0.5;
          t += speed;
        }, 1000 / 60);
        document.body.append(snow);
      }, 1000 / 30);
    </script>
  </body>
</html>
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-1-25 08:49:11 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2022-2-16 11:02:42 | 显示全部楼层
运行起来效果是相当浪漫!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-17 10:08:50 From FishC Mobile | 显示全部楼层
厉害了呀,大佬。666
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-18 10:07:47 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 00:09

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表