CSS辞書
アニメーション実装集に戻る

いいねのポップ

マイクロインタラクション

ハートを押すと弾んで膨らむ「いいね」アニメーション。checkboxハックとオーバーシュートするイージングが鍵です。

プレビュー

Live

プレビュー枠は右下をドラッグすると高さを変えられます

コードを編集して試す

書き換えるとプレビューに即反映されます。変更はこのページ内だけで、リロードすると元に戻ります。

HTML
CSS

仕組みの解説

チェック状態をCSSだけで扱うため、非表示のcheckboxと隣接セレクタ(:checked + .like)を使っています。弾む質感の正体はcubic-bezier(0.175, 0.885, 0.32, 1.4)——第4引数が1を超えると「行き過ぎて戻る」オーバーシュートになります。keyframesでも60%で1.3倍まで膨らませて仕上げの弾みを重ねています。

実装のポイント

実務ではbutton要素+aria-pressedで実装し、:checkedの代わりに[aria-pressed="true"]で同じCSSを当てるとよりアクセシブルです。

使っているプロパティ