HOVER

ホバーエフェクトの作り方 — 5つの基本パターンと実装例

ホバーエフェクトは、ユーザーがリンクやボタンの上にマウスを乗せたときに発生する視覚的フィードバックです。「これはクリックできる」と直感的に伝える役割を果たし、サイトの操作性を大きく左右します。本ガイドでは、現代のWebデザインで頻繁に使われる5つの基本パターンを、実装コード付きで紹介します。

パターン1: カラー反転(最もシンプル)

背景色とテキスト色を入れ替える定番。CTA ボタン、ナビゲーションリンクで頻出。

.btn { background:#000; color:#fff; transition: all .3s; } .btn:hover { background:#fff; color:#000; border:1px solid #000; }

シンプルだが汎用性が高い。サイトの統一感を保ちつつ操作性を担保できる基本中の基本。

パターン2: スケール変化(ふくらむ)

ホバー時にサイズが微妙に大きくなる演出。商品カード・画像ギャラリーで効果的。

.card { transition: transform .3s cubic-bezier(.4,0,.2,1); } .card:hover { transform: scale(1.05); }

1.05〜1.15倍程度がちょうど良い。それ以上だとレイアウトを崩しがち。

パターン3: アンダーライン演出(リンク強調)

ホバー時に下線が左から右へ伸びる演出。テキストリンクで上品な印象を与える。

.link::after { content:''; position:absolute; left:0; bottom:-2px; width:0; height:2px; background:currentColor; transition: width .3s ease; } .link:hover::after { width:100%; }

詳細実装:Border Reveal ページを参照。

パターン4: マグネティック(マウス追従)

ボタンがマウスに引き寄せられる近未来的な演出。ブランドサイト・LPで強い印象を残す。

JavaScriptが必要。実装は Magnetic Hover ページにフルコード掲載。

使いすぎ注意。1ページに1〜2箇所程度に絞ると効果的。

パターン5: 3Dティルト

マウス位置に応じてカードが3Dで傾く演出。商品紹介・ポートフォリオで目を引く。

CSS transform: perspective(1000px) rotateX() rotateY() + JS でマウス位置を取得。

実装:Tilt 3D Hover ページを参照。

FAQ

モバイルではホバーが効かない
タッチデバイスにはホバー概念がありません。@media (hover: hover) {...} で出し分けるか、:active で代用します。
ホバーで動きすぎると逆に使いにくい?
はい、過剰な演出はノイズになります。「クリックできることが伝わる」最小限の動きに留めるのがプロの選択です。
ホバー効果のtransition時間は?
200〜400msが最適。これ以下だと認識できず、これ以上だとレスポンス遅延を感じます。
cursor: pointer も忘れずに
ホバー効果と合わせて cursor: pointer を指定すること。視覚+形状の両方でクリック可能性を伝えます。