氛围网站背景云朵
摘要
background-clouds 是一个轻量级、零依赖的 JavaScript 库,它通过单个 canvas 在网站背后渲染一个动画 low-poly 云团,并支持减少动画和 SPA 生命周期方法。
查看缓存全文
缓存时间: 2026/07/15 04:39
paradise-runner/background-clouds 来源:https://github.com/paradise-runner/background-clouds
background-clouds
background-clouds 为网站添加了一个轻量级、动态的低多边形云层背景。它只使用一个 canvas,无运行时依赖,当用户偏好减少动效时暂停运动,并为单页应用暴露生命周期方法。
动态低多边形云背景
安装
npm install background-clouds
使用
import { createCloudBackground } from "background-clouds";
const clouds = createCloudBackground({
canvas: document.querySelector("#background-clouds"),
seed: "my-site",
speed: 0.8,
opacity: 0.9
});
// 后续,例如在卸载路由时:
clouds.destroy();
<canvas id="background-clouds"></canvas>
#background-clouds {
position: fixed;
inset: 0;
width: 100%;
height: 100%;
pointer-events: none;
z-index: -1;
}
调用 createCloudBackground 前需确保 canvas 已就绪。返回的控制器包含 start()、stop()、resize()、setSeed(seed) 和 destroy() 方法。
seed 可以是字符串或数字;使用相同的种子会得到相同的云层布局。speed 和 opacity 默认值为 1,接受非负数。
选项
| 选项 | 默认值 | 描述 |
|---|---|---|
canvas | 必填 | 用于渲染的 <canvas> 元素。 |
seed | 随机 | 用于确定性云层布局的稳定字符串或数字。 |
speed | 1 | 漂移倍率。设置为 0 可得到静止云层。 |
opacity | 1 | 全局云层不透明度倍率。 |
pixelRatio | 2 | 渲染时使用的最大设备像素比。 |
reducedMotion | 媒体查询 | 显式设置以覆盖 prefers-reduced-motion。 |
该包仅拥有 canvas 的像素。请在你的网站 CSS 中设置 canvas 的层叠顺序、背景颜色和定位。
相似文章
CSS原生视差效果
使用滚动驱动动画时间线的CSS原生视差效果,提供了一个高性能且简单的工具类,无需JavaScript。
使用 Temporal 和 CSS color-mix 实现基于时间的背景颜色过渡
本文演示了如何使用 Temporal API 检测本地时间,并结合 CSS color-mix 在个人网站上实现根据一天中的时间变化背景颜色过渡的效果。
Show HN:一个CSS 3D引擎(无需WebGL)
PolyCSS 是一个 CSS 多边形网格库,能将 3D 模型渲染为真实的 HTML 元素(使用 CSS matrix3d),支持 OBJ/MTL、GLB 和 VOX 格式,可与 React、Vue 或原生 JavaScript 配合使用。
@andreasawires:在浏览器中渲染约1亿个三角形。在@threejs上使用随意Nanite风格的分组网格(meshlets)。支持GLB直接拖入和PBR。
一位开发者演示了使用Three.js和Nanite风格的分组网格在浏览器中渲染约1亿个三角形,支持GLB直接拖入和PBR。
@VincentLogic: 以前做前端,为了个加载动画,要么到处找 GIF,要么自己写 CSS 写到头秃。 最近看到这个 math-curve-loaders 开源库,完全是用数学公式生成的动效。 我看了一下,玫瑰曲线、李萨如曲线这些数学图形,动效极其优雅。纯 HT…
介绍了一个名为 math-curve-loaders 的开源前端库,利用数学公式(如玫瑰曲线、李萨如曲线)生成优雅的加载动画,纯 HTML+CSS 实现,零依赖,并带有可视化调试面板,可以实时调整参数并一键复制代码。