我用 Vibe Coding,把个人网站改成了前端特效实验场

你好,我是测试蔡坨坨。

最近我又给个人网站做了一轮前端特效和交互优化。不是那种大改版,而是把一些原本「能用但不够顺」的地方,一点点改成更像自己的东西。

这篇不讲建站基础,也不展开主题安装配置,只记录这次 Vibe Coding 过程中改了哪些效果、踩了哪些坑,以及平时可以去哪里找特效灵感。

首页标题动画

首页标题改成了更有个人识别度的一行字:

1
蔡坨坨💩

效果上参考了 SplitText 那类文字拆分动画:每个字符单独进场,有一点 3D 翻转的感觉。这里没有额外引入 GSAP,而是用模板把标题拆成单个字符,再通过 CSS 控制延迟和动画。

有个细节需要注意:如果标题里有 emoji,不能直接按字符串下标拆,否则 emoji 可能会被拆坏。更稳妥的方式是用 Array.from() 处理字符序列。

之前首页随机背景图切换时,是直接改 background-image。问题是图片还没加载完,背景就已经切过去了,所以偶尔会闪一下。

这次改成了双层背景 crossfade:

1
预加载下一张图 -> 放到隐藏层 -> opacity 渐变 -> 切换 active 层

这样图片先加载,加载完成后再淡入,视觉上会顺很多。这个优化不复杂,但对首页观感提升很明显。

副标题接入站内碎碎念

首页副标题没有继续走随机一句话接口,而是改成从站内「坨坨瞎叭叭」内容里取。

我更喜欢这种方式,因为它不是外部随机文案,而是自己写过的碎碎念。首页每次刷新看到的内容,也更像是这个网站自己长出来的一部分。

右下角 AI 助手

右下角加了一个 AI 入口,点击后弹出聊天窗口。这个功能主要做了这些交互:

  • 入口放在右侧工具栏,不额外打扰阅读;
  • 支持文本提问;
  • 支持图片上传和粘贴;
  • AI 回复支持 Markdown;
  • 回复下方提供 icon-only 复制按钮;
  • 对话框支持展开、收起和清空上下文;
  • 页面局部切换后,按钮仍然可以正常打开。

这里最容易踩坑的是事件绑定。如果页面用了 PJAX,DOM 会被重新替换,普通 querySelector(...).onclick = ... 很容易失效。最后我改成了事件委托,让点击逻辑挂在 document 上,再通过 closest() 判断是不是 AI 入口。

文章卡片交互优化

之前文章卡片整张都能点,虽然省事,但不够精确。比如我只是想点封面看大图,结果直接进了文章。

这次把交互拆开了:

  • 点击封面:打开大图预览;
  • 点击标题:进入文章;
  • 点击分类:进入分类页。

这种改法更符合直觉,也减少误触。个人网站很多体验问题,其实不是功能缺失,而是默认点击范围太粗。

文章顶部动态效果

文章页顶部接入了一个动态视觉效果,作为默认 top_img 的替代。它的作用不是展示具体图片,而是让文章首屏更有科技感和流动感。

这里我尝试过两条路:

  1. 使用现成的视觉工具生成动态效果;
  2. 用 Canvas 自己仿一个无水印版本。

自己写 Canvas 的好处是完全可控,颜色、球体、背景都能调;缺点也明显:想做到设计工具里的质感,需要花更多时间调 Shader、光影和动效。最后我还是先保留了现成效果,后面如果有精力,再考虑自己实现一版更贴合网站风格的。

去哪里找前端特效灵感

我平时找特效灵感,主要看这些地方:

  • CodePen:适合搜单个小效果,比如 text animationcard hovercanvas background
  • Codrops:交互质量很高,适合看菜单、转场、滚动动画;
  • Awwwards:适合看整体视觉趋势,但实现成本通常比较高;
  • GSAP Showcase:适合找文字拆分、视差滚动、复杂时间线动画;
  • Unicorn Studio:适合快速做 3D、Shader、动态背景;
  • LusionBruno Simon:适合看 Three.js 交互网站的上限;
  • GitHub:搜 blog theme animationpersonal website animationcanvas background,能找到不少可落地的实现。

我的建议是不要直接照搬整站,而是拆一个小效果:它怎么进场、怎么循环、怎么响应鼠标、怎么在移动端降级。拆明白以后,再改成自己的风格。

这次优化后的几点经验

前端特效很容易越加越多,但个人网站还是要克制一点。

我现在会优先考虑这几个问题:

  1. 首屏加载会不会变慢;
  2. 手机端会不会遮挡内容;
  3. 页面切换后 JS 会不会失效;
  4. CSS/JS 改完有没有加版本号;
  5. 特效是不是服务于网站气质,而不是单纯炫技。

个人网站最有意思的地方就在这里:它不一定要一次做到完美,但可以一直改、一直试、一直长成更像自己的样子。