ホームページ作成/画像の表示・活用 (HTML,CSS,JavaScript)

マウスが載ると画像が変化するリンクを作る(4ページ目)

画像リンクの上にマウスを載せたときに、リンク画像が別の画像に変化するようなリンクを作ってみましょう。今回は、JavaScriptなどのスクリプトを使わずに、スタイルシートを使って実現する方法をご紹介致します。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

マウスが載ったときに右側半分を表示させる

それでは、マウスが載ったときに、背景画像の右側半分が表示されるようにスタイルシートを記述しましょう。 (この方法が使いたいために、わざわざリンク画像を背景画像として表示させるようにしたようなものです。)

リンクの上にマウスが載ったときに装飾を変化させるには、「hover疑似クラス」を使います。たとえば、以下のように記述します。

a:hover {
   マウスが載ったときの装飾
}

ここに、「背景画像の右側半分を表示する」装飾を記述すれば良いだけです。
以下のように記述します。

a.rabbit:hover {
   background-position: top right;
}

上記では、background-positionプロパティを使っています。これは、「背景画像の表示開始基準(位置)」を指定するプロパティです。 これに値「top right」を指定すると、背景画像が右上から描画されるようになります。(何も指定しなければ「左上」から描画されます。)

左上を基準に100px表示させたところ右上を基準に100px表示させたところ
左上を基準に100pxを表示(=top left) / 右上を基準に100pxを表示(=top right)

最初は「左上」を基準にして、横100px・縦100pxを表示しています。マウスが載ると、基準位置が「右上」に変わります。 その結果、表示される部分が変化するので、画像が切り替わったような効果が得られるわけです。

このスタイルシートをこれまでの記述に加えることで、以下のように見えます。

上記の画像にマウスを載せてみて下さい。
背景画像の表示開始基準が「右上」に変わるため、画像が変化したように見えます。

以上で完成です。

順を追って解説してきたので長く感じられたかもしれませんが、記述量は大して多くありません。 最後に、すべてのソースのまとめを掲載しておきます。

なお、複数のリンクを並べて表示させたい場合は、リンク1つ1つに上記のスタイルを記述すると全体の記述量が無駄に多くなってしまいます。 その場合は、共通部分をまとめて記述した方が全体の記述量が少なくて済みます。 最後のページの「ソースのまとめ」では、複数のリンクを並べた場合の短い記述方法も掲載しています。

5. ソースのまとめへ >>

  • 前のページへ
  • 1
  • 3
  • 4
  • 5
  • 7
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます