ui
like button animation / heart burst / favorite toggle
いいね・お気に入りをONにした瞬間、円が広がって消え、その中からハートが小さく生まれ直し、周りに粒が等間隔で弾ける3段の演出。円→ハート→粒の出番をずらすことが要点で、OFFに戻すときは何も弾けさせないことで「押した側」だけが報われる。
02 — Prompt template
03 — Params
count(粒の方向数) — 範囲 4〜12 / 初期 8
粒を飛ばす方向の数。各方向に大小2粒を少し角度をずらして出す。8方向(45°おき)が定番で、6以下は寂しく、12を超えると輪に見えて粒の弾け感が消える。spread(粒の飛距離 px) — 範囲 16〜64 / 初期 32
大きい粒がアイコン中心から飛ぶ距離。アイコン径の0.6〜0.8倍が自然(48pxのアイコンで32px前後)。大きすぎるとアイコンから切り離されて別の演出に見える。duration(全体の尺 s) — 範囲 0.3〜1.2 / 初期 0.5
円の広がりから粒が消え切るまで。0.4〜0.6sが指に遅れない上限。内訳は円0〜60%、ハート40〜70%、粒20〜100%で、尺を変えても比率は保つ。startScale(ハートの出だしの大きさ) — 範囲 0〜0.8 / 初期 0.2
ハートが生まれ直すときの初期スケール。0.2前後で「中から湧いた」に見える。0.6を超えると膨らみが小さく、ただの色替えに近づく。
04 — Vocab
like button animation / heart burst — いいね・お気に入りのONで円・ハート・粒が時間差で弾けるマイクロインタラクション。英語圏では like animation、Twitter heart animation の名で通じる。
toggle microinteraction — 2状態を切り替えるボタンに付ける小さな演出。片方向(ON)だけを華やかにし、戻す操作は静かにするのが定石。
animation-fill-mode: backwards — animation-delay の待ち時間中も 0% のキーフレームの姿を保つ指定。遅れて出るハートを「縮んだまま待たせる」ために使う。
radial particles — 角度を等分して中心から外へ飛ばす粒。rotate(角度) のあと translateX(距離) の順に transform を書くと、1本のキーフレームで全方向に使い回せる。
aria-pressed — トグルボタンの ON/OFF を支援技術に伝える属性。演出を止めても状態はここと色で伝わる。
05 — NG → OK examples
NG
言い方: 「「いいねボタンを押したらハートがポンってなるようにして」」
なぜNG: 何が・どの順で弾けるかが決まらない。scale(1.3) に膨らむだけのバウンドか、紙吹雪を全方向ランダムに撒く実装が返ってきがちで、円・ハート・粒の時間差が無いぶん「ボタンが揺れた」以上に見えない。OFFに戻す操作でも同じ演出が鳴る実装も多い。
OK
言い方: 「「like button animation を0.5sで。円をscale 0.2→1で0〜60%に広げて抜く、ハートは40〜70%でscale 0.2→1(それまでfill backwardsで縮めて待機)、粒は8方向×大小2粒(小は+10°)を20〜100%でtranslateX 32pxへ。ONの瞬間だけ再生・連打は頭から・reduced-motionは塗り替えだけ」」
なぜOK: 3層それぞれの尺の区間・始点スケール・粒の方向数と飛距離・再生条件まで指定。「OFF→ONの瞬間だけ」と「fill backwardsで待機」の2点で、弾けが押した瞬間の報酬として正しく鳴る。
