Particle Logo

怎样把 Logo 做成网站的加载动画

想让 Logo 恰好在加载完成时成形,就用 Vue 或 React 组件的 progress 参数。只有免费的 HTML 导出时,把它做成覆盖层,页面准备好后再移除。

更新于

做法一:把动画和真实加载进度绑在一起(Vue 或 React,需要 Pro)

Vue 和 React 组件有一个 progress 参数,取值 0 到 100。传入后,粒子只移动到这个进度对应的位置,加载完成(100)时 Logo 正好成形。

import { PixelLogoLoader } from './components/PixelLogoLoader';

// progress: 0 to 100, from your own loading steps
<PixelLogoLoader progress={progress} height={360} />

完整的加载步骤和状态管理代码在教程里:Vue 3 教程的“做成加载页”和React 教程的“做成加载页”。

做法二:把免费的 HTML 导出做成覆盖层

HTML 导出会自己循环播放,没有 progress 参数,所以做法是:先把它盖在页面上,页面加载完成后再移除。把 index.html 上传到网站(比如 /particle-logo/index.html),再把下面这段放在 <body> 开头:

<div id="logo-loader" style="position:fixed;inset:0;z-index:9999;background:#000;display:grid;place-items:center">
  <iframe src="/particle-logo/index.html" title="Loading" width="480" height="520" style="border:0;max-width:100%"></iframe>
</div>
<script>
  const loader = document.getElementById('logo-loader');
  const shownAt = performance.now();
  const MIN_MS = 1500; // 动画至少显示 1.5 秒
  function hide() {
    setTimeout(() => loader.remove(), Math.max(0, MIN_MS - (performance.now() - shownAt)));
  }
  if (document.readyState === 'complete') hide();
  else window.addEventListener('load', hide);
</script>

覆盖层铺满整个窗口,页面的 load 事件触发后移除。MIN_MS 让动画至少显示 1.5 秒,避免一闪而过,按需要修改这个数字。

尊重“减少动态效果”设置

导出的组件和 HTML 文件都不会检测系统的“减少动态效果”设置。Vue 和 React 组件可以在用户开启这个设置时传入固定的 progress 为 100,让 Logo 直接成形;覆盖层的做法则可以在这种情况下干脆不显示。

访客要下载多大的文件?

下面是我们在 2026 年 11 月 3 日 实测的导出文件大小(默认点阵步长 4,括号里是 gzip 压缩后)。文件里已经包含 Logo 的点阵和全部代码,运行时不再发网络请求:

测试图采样点数HTML 文件Vue 组件React 组件
白色四字母字标(单色)58922.4 KB (6.4 KB gzip)24.2 KB (6.9 KB gzip)25.1 KB (7.0 KB gzip)
五种颜色的几何图形4,13966.5 KB (12.3 KB gzip)68.2 KB (12.9 KB gzip)69.2 KB (13.1 KB gzip)
Particle Logo 自己的标志(银灰单色调)7,08235.8 KB (11.0 KB gzip)37.5 KB (11.6 KB gzip)38.4 KB (11.7 KB gzip)

体积主要由点数和颜色决定:每个点带着自己的 RGB 颜色时,文件会明显变大;代码导出最多保留 1,600 个点。

常见问题

加载动画需要联网吗?

不需要。导出的 HTML 文件和组件自带点阵和代码,运行时没有网络请求。

需要哪个套餐?

HTML 导出在免费版里,可以做覆盖层。带 progress 参数的 Vue 和 React 组件需要 Pro,见价格。

可以先看看别的接入方式吗?

参见全部接入教程,或者先看粒子动画的原理。

进入工坊

其他教程