ボタン

磁力ボタン

ポインターが近づくとボタンが引き寄せられ、中の文字はさらに先へ動いて奥行きを感じさせるボタン。離れるとばねで戻り、ホバーした位置から色が広がります。

ライセンス MIT

ソースと利用条件は、下の「仕様・利用条件」で確認できます。

この動きの特徴

  • ポインターに引き寄せられるボタン
  • 文字が先に動く二重の追従
  • ばねによる戻りとわずかな行き過ぎ
  • 入った位置から広がる塗り
  • タッチ・動きを減らす設定では通常のボタン

導入と調整

使い方

<Magnetic
  heading="次のプロジェクトを、一緒に。"
  actions={[
    { label: 'お問い合わせ', href: '/contact', variant: 'pill' },
    { label: '会社案内をダウンロード', href: '/download', variant: 'ghost' },
    { label: '次へ', href: '/next', variant: 'round', ariaLabel: '次のページへ' },
  ]}
  field={90}
/>
  • variant は pill(塗り)、ghost(線)、round(矢印だけの円)です。round には必ず ariaLabel を付けてください。
  • field はボタンの外側で反応し始める距離(px)です。

動きの仕組み

  • ボタンの外周 field px 以内にポインターが入ると、本体はポインターとの差の32%、文字は50%の位置を目標にします。
  • どちらも減衰の弱いばね(剛性170・減衰14)で追うため、離れたときに少しだけ行き過ぎてから止まります。
  • ボタンの位置はページ座標で測るため、スクロールしてもずれません。画面幅の変化で測り直します。
  • 塗りが広がる起点(--flood-x / --flood-y)はタッチや動きを減らす設定でも設定します。磁力の動きはマウスで動きを減らす設定がオフのときだけです。

調整する箇所

  • 配色は --magnetic-bg、--magnetic-ink、--magnetic-flood で変更できます。
  • 引き寄せの強さは PULL と LABEL_PULL、戻り方は STIFFNESS と DAMPING で調整します。

参考にした傾向

Webデザインクリップ に掲載された国内サイトでよく使われている「ホバーエフェクト」の表現を参考に、このカタログ用に一から設計・実装しました。特定サイトのコード・画像・文言・配色は使っていません。

利用条件

このカタログ用に書き下ろした実装で、MITライセンスで公開しています。LICENSE、src/Component.astro、src/motion.ts を取得して利用できます。再配布する場合は LICENSE の著作権表示と許諾文を残してください。

仕様・利用条件

仕様

分類
ボタン
更新日
2026.10.30
ライセンス
MIT
使用技術
Astro

ソースと利用条件

公開中許可されたファイルだけを固定した版で参照できます。

公開ファイル
3件
ライセンス
MIT
公開ファイルの一覧(JSON)

おすすめのコンポーネント

Live Preview

プレビュー

新しいタブで開く(新しいタブ)