惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Recent Announcements
Recent Announcements
V
V2EX
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
博客园 - 聂微东
爱范儿
爱范儿
Jina AI
Jina AI
博客园 - Franky
IT之家
IT之家
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
T
Tailwind CSS Blog
博客园 - 三生石上(FineUI控件)
The Cloudflare Blog
M
MIT News - Artificial intelligence
aimingoo的专栏
aimingoo的专栏
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
J
Java Code Geeks
人人都是产品经理
人人都是产品经理
腾讯CDC
博客园_首页
月光博客
月光博客
有赞技术团队
有赞技术团队
C
Check Point Blog
Microsoft Security Blog
Microsoft Security Blog
MyScale Blog
MyScale Blog

Hyde Blog

Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog Hyde Blog
Hyde Blog
Hyde · 2025-10-05 · via Hyde Blog

五彩纸屑 ​

简介 ​

网友的需求越来越花哨了,直接使用 @catdad/canvas-confetti

五彩纸屑效果,可以用于节日、庆祝等场合,增加网页的趣味性和氛围感。以下是一个简单的五彩纸屑效果实现:

安装插件 ​

提示

  • 推荐使用 pnpm 安装,我在子项目的,所以需要切换到子项目的 Demo\docs-base 目录下安装

pnpmyarnnpmbun

sh

cd Demo\docs-base
pnpm add -D canvas-confetti

sh

yarn add -D canvas-confetti

sh

npm i -D canvas-confetti

sh

bun add -D canvas-confetti

创建组件 ​

在其 官网 上,有最简单的纸屑配置

但是建议还是 vue 封装一下,在 Demo\docs-base\.vitepress\theme\components 文件夹中创建 Confetti.vue

md

docs-base
├─ .vitepress
│  └─ config.mts
│  └─ theme
│  │   ├─ components
│  │   │   └─ Confetti.vue
│  │   └─ index.ts
└─ index.md

配置组件 ​

  • Confetti.vue 填入如下代码,保存

confetti.vue

vue

<script setup lang="ts">
import confetti from "canvas-confetti";
import { inBrowser } from "vitepress";

if (inBrowser) {
  /* 纸屑代码这里配置 */
  confetti({
    particleCount: 100,
    spread: 170,
    origin: { y: 0.6 },
  });
}
</script>
点击查看

vue

<script setup lang="ts">
import { onMounted } from "vue";
import confetti from "canvas-confetti";

onMounted(() =>
  /* 纸屑 */
  confetti({
    particleCount: 100,
    spread: 170,
    origin: { y: 0.6 },
  })
);
</script>

注册组件 ​

Demo\docs-base\.vitepress\theme\index.ts 中注册全局组件

ts

/* Demo\docs-base\.vitepress\theme\index.ts */
import DefaultTheme from 'vitepress/theme'
import confetti from "./components/confetti.vue"

export default {
  extends: DefaultTheme,
  enhanceApp({ app }) {
    // 注册组件
    app.component("MNavLinks", MNavLinks),  //导航组件
    app.component('confetti' , confetti)  //五彩纸屑
  },
  Layout: defineComponent({
    // ...其他配置
  }),
}

使用组件 ​

  • Demo\docs-base\index.md 中使用

md

<!-- index.md -->

<!-- 五彩纸屑组件 -->
<confetti />

效果 ​

最后回到首页或者其他页面,插入组件看效果,同理也可以做 雪花效果