リスト項目のホバー演出は、その要素がクリック可能であることを伝えるだけでなく、操作の気持ちよさや、コンテンツの世界観を表現することにも役立ちます。今回の記事では、HTMLとCSSだけで実装可能なリスト項目のホバー演出のアイデアを紹介します。
▼ 今回紹介する実装例一覧
1. 横にアイコンが表示される
ホバー時に、アイコンに指定しているCSSのscale
プロパティの値を0から1に変化させることで、拡大しながら現れるようにしています。初期状態でscale: 0
に指定しておくことで、アイコンを非表示のように隠しておけます。
2. カーソルが変化する
ホバー時に表示されるカーソルをオリジナル画像に変更しています。CSSを以下のように指定すると、カーソル位置やクリック範囲を細かく調整できます。
cursor: url("画像パス") x座標 y座標, フォールバック(pointerなど);
3. 文字がノイズ風にブレる
::before
、::after
の疑似要素で文字を三重に重ね、ホバー時にCSSのtranslate
プロパティで左右へわずかにずらすことで、ブレを表現します。
このデモでは、リンク要素にdata-text
というカスタム属性を指定し、本体テキストと同じ文字列を入れています(例:<a data-text="HOME">HOME</a>
)。疑似要素のcontent: attr(data-text)
でこの文字列をそのまま使うことで、余分な要素を増やさずに同じテキストを重ねて表示できます。
4. アイコンが変化する
ホバー時に別のアイコンに変化させています。
まったく違うアイコンに変えるのもよいですが、同じモチーフで質感が違ったり、色違いのアイコンに変化するなどしても、おもしろいアニメーションになりそうです。
5. 黒丸が出現する
ホバー時に疑似要素の::after
に指定しているCSSのscale
プロパティの値を0から1に変化させています。黒丸にCSSのmix-blend-mode: difference;
を指定することで、重なった部分のテキストの色が反転します。
6. 灯りがつく
ホバー時に、疑似要素で描いたグラデーションの円を重ねています。
背景が暗い色のときは、CSSのmix-blend-mode: hard-light
を指定するとパッと明るい印象になります。使いたい色に合わせてmix-blend-mode
プロパティの色々な値を試してみてください。
▼ mix-blend-mode: hard-light
ありの場合となしの場合の比較
mix-blend-mode
については以下の記事で紹介しています。
7. アイコンが回転する & 文字がアウトライン化する
文字の背景にアイコンを配置して、ホバー時のみ回転させています。ホバー時に文字色を背景色と同じ(もしくはtransparent
)に変え、CSSの-webkit-text-stroke
を指定しています。-webkit-text-stroke
を使うことで、文字のアウトラインにのみ色をつけられます。
8. 文字がかたかた動く
ホバー時に、CSSのtranslate
プロパティやrotate
プロパティの値を調整し、位置や角度をわずかにずらすことで、文字が小刻みに震えて見えるようにしています。デモのように、アイコンのみをアニメーションさせるなどのアレンジも可能です。
9. ねこが出現する
『1. 横にアイコンが表示される』の派生です。ホバーするとテキストの上にアイコンが出現します。
a
要素に::first-letter
を適用して、先頭文字のみを強調できます。
まとめ
HTML&CSSの簡単な指定でリスト項目に一工夫加えるアイデアを紹介しました。画像や動き方、フォント等を変えるだけでも雰囲気は大きく変わります。日常で目についたモチーフや、お好みのデザインを取り入れて、ぜひ自分だけの可愛いホバー演出を作ってみてください!
過去の記事でも、以下のようなアイデアを紹介しています。