跳到正文
cccskills
免费在 GitHub 公开

like-burst

Add a celebratory particle burst to a like / favorite / reaction button. A delight micro-interaction that fires on user tap only (never on load), bursts on the "like" transition (not un-like), and ships a prefers-reduced-motion fallback. Use when a small, earned moment of positive feedback will feel good — and only one such moment per screen.

中文简介正在准备中。当前显示原文说明。

查看安装方法

包含的文件(5)

  • SKILL.md2.4 KB
  • like-burst.css2.1 KB
  • like-burst.js2.7 KB
  • preview.html1.8 KB
  • recipe.motion.yaml1.9 KB

SKILL.md(原文)

安装前可以查看交给 AI 代理的指令内容。

like-burst

A celebratory particle burst for like / favorite / reaction buttons. Part of motion-anything; obeys MOTION-SPEC.md.

When to use it

  • Like / favorite / upvote / reaction buttons.
  • A small, earned moment of positive feedback.

When NOT to use it (restraint)

  • Destructive or neutral actions (delete, dismiss, close).
  • When more than one burst could fire at once — one celebratory moment per screen.
  • On load / autoplay. This must be user-triggered.

How to apply

  1. Copy like-burst.css and like-burst.js into the project.
  2. Link them, and mark the button:
    <link rel="stylesheet" href="like-burst.css" />
    <button class="like-btn" data-like-burst aria-pressed="false" aria-label="Like">♥</button>
    <script src="like-burst.js"></script>
    
  3. It auto-attaches to any [data-like-burst], or call attachLikeBurst(el) manually.

Tuning

  • PARTICLE_COUNT / COLORS in like-burst.js (keep particle count modest — taste over spectacle).
  • Pop feel: the lb-pop keyframe (currently 420ms, ease-out). Burst spread: dist in spawnParticles.

Accessibility & performance

  • Honors prefers-reduced-motion: particles are suppressed, a quiet color/scale cue remains.
  • Animates transform/opacity only; removes injected particle nodes after ~700ms.

Framework notes

  • React: call attachLikeBurst(ref.current) in useEffect; or port the click handler into your component and keep the CSS as-is.

评价

还没有评价。欢迎分享你的使用感受。

评论

无需登录即可发表。欢迎分享使用感受、提问,或说明在哪些环境下无法运行。

还没有评论。来写第一条吧。

提交后会立即公开。请勿填写邮箱、电话等个人信息。URL 最多 2 个。

0 / 1000 字

此表单受 reCAPTCHA 保护,适用 Google 的隐私权政策和服务条款。

同一仓库的技能

Back In Down — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

中文简介正在准备中。当前显示原文说明。

nexu-io/motion-anything9592026年7月7日 更新

Back In Left — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

中文简介正在准备中。当前显示原文说明。

nexu-io/motion-anything9592026年7月7日 更新

Back In Right — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

中文简介正在准备中。当前显示原文说明。

nexu-io/motion-anything9592026年7月7日 更新

Back In Up — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

中文简介正在准备中。当前显示原文说明。

nexu-io/motion-anything9592026年7月7日 更新

Back Out Down — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

中文简介正在准备中。当前显示原文说明。

nexu-io/motion-anything9592026年7月7日 更新

Back Out Left — a drop-in CSS keyframe animation from Animate.css (Hippocratic-2.1, © Daniel Eden). No JS required. Honors prefers-reduced-motion. Use restrained; attribute Animate.css.

中文简介正在准备中。当前显示原文说明。

nexu-io/motion-anything9592026年7月7日 更新

查看 nexu-io 的全部技能

报告此技能的问题