引言
作为一个 Java 后端,第一次做前端 demo 时,最大的诉求是:看起来要炫酷。但不想花几周时间从零学 CSS 动画和 WebGL。
这篇文章总结在做 demo 过程中摸索出的“省力又出效果”的路径。
一、炫酷效果的五种方向
方向一:粒子/星空背景(最通用)
库:tsparticles
这是目前最成熟的粒子背景库,支持 React、Vue、原生 JS。官网有可视化配置器,调好参数直接复制 JSON 到代码里。
适合场景:登录页、首页 Hero 区域、任何需要“科技感底图”的页面。
方向二:3D 场景(视觉冲击力最强)
库:react-three-fiber+drei
React 生态里做 3D 最顺手的组合。可以做一个旋转的 3D 模型、漂浮的几何体,或鼠标拖拽旋转的场景。
适合场景:产品展示页、个人主页首屏、任何想“一眼惊艳”的地方。
方向三:文字/图片粒子消散(点击触发特效)
库:react-vanish-box或package-particlefx
前者是纯 React 组件,包住任何 JSX 内容就能让它粒子化消散;后者支持把图片转成粒子,点击爆炸。
适合场景:按钮点击反馈、页面切换动画、消除类游戏的消除特效。
方向四:滚动驱动动画(叙事感最强)
库:framer-motion+lenis
framer-motion做元素进入/退出/悬停动画,lenis做平滑滚动。两者结合可以做“滚动时元素依次浮现、视差滚动、数字滚动增长”的效果。
适合场景:产品介绍页、时间线展示、任何需要“跟着滚动看内容”的页面。
方向五:直接抄现成模板
- Galaxy Theme Portfolio:Astro + Three.js 的星空个人主页
- Duckfolio:Next.js + Tailwind + Framer Motion,简洁现代
- Codrops:搜 “dissolve”“particle”“3D”,大量可直接下载的 demo 源码
二、实操建议
先确定 demo 要展示什么,再选方向:
- 个人主页/产品官网→
tsparticles做背景 +framer-motion做滚动动画 - 游戏/交互演示→
react-vanish-box做点击粒子效果 +react-three-fiber做 3D 场景 - 纯炫技→ 直接上
react-three-fiber,做一个可交互的 3D 场景
最省力的路径:先跑一个现成模板(比如 Duckfolio),看到效果后逐块替换成自己的内容。遇到某个效果不知道怎么做的,再针对性搜“xxx 效果 实现”。
三、找参考的网站
国内设计平台
| 平台 | 链接 | 用途 |
|---|---|---|
| 站酷 ZCOOL | www.zcool.com.cn | 综合设计案例 |
| 花瓣网 | huaban.com | 灵感采集 |
| UI 中国 | ui.cn | UI/交互细节 |
| 优设网 | uisdc.com | 设计干货文章 |
网页效果参考站
| 平台 | 链接 | 特点 |
|---|---|---|
| Curated Design | curated.design | 人工筛选,可跳转原站看真实效果 |
| Craftwork Curated | craftwork.design/curated/websites | 覆盖真实商用网站,附完整截图 |
四、搜索关键词备忘
以后自己找的时候,可以搜:
canvas particle click effectcanvas particle text explodeparticle dissolve effect canvasreact particle backgroundreact three fiber demoframer motion scroll animation
五、写在最后
作为后端开发者转全栈,做 demo 的核心策略是:用现成的库解决 80% 的问题,把精力花在理解原理和整合上。你不需要从零写粒子引擎,但需要知道有哪些库、怎么选、怎么和你的 React 项目整合。