【CSS】セレクター番外編 :hoverと:active

チャッピー
チャッピー

セレクター編って終わったんじゃ…

こばゆた
こばゆた

おっと、細かい事は気にしない

擬似クラスとは要素が特定の状態の時にスタイルを変更することができるものです

こばゆた
こばゆた

例をあげると、以下のようにボタンの上にマウスカーソルが乗ると色が少し薄くなるものなどがあげられます

  • リンクA
  • リンクB
  • リンクC
  • リンクD
こばゆた
こばゆた

ヘッダーのナビリンクなどで見られるアレですね

きなこ
きなこ

これが要素に「マウスカーソルが乗る」という特定の状態ね

こばゆた
こばゆた

そうそう

今回はその中でもよく使う”:hover”と”:active”を解説していこうと思います。

こばゆた
こばゆた

“:hover”と”:active”は無理して使う必要はありませんが使えるとWebページがグッとお洒落になりますし何よりも動く感動が味わえるので、できて損はないと思います!

チャッピー
チャッピー

お洒落になるなら頑張ろう!

スポンサーリンク

1.:hover

セレクターに対して”hover”を使うことでマウスカーソルが乗るとスタイルを変えることができます。

使い方はセレクターの後ろに:(コロン)とhoverを書きます。

セレクター:hover{
  プロパティ: 値;
}

<a>こんにちは</a>
a{
  background-color: #ddd;
  color: #000;
}
/*ボタンぽくするために他のスタイルもつけてありますが割愛します*/

a:hover{
  color: #ddd;
  background-color: #000;
}
/*a要素にカーソルが乗ると色が反転する*/

a要素にカーソルが乗ると色が反転しています。

hover

これはシンプルなものですのでもう一つサンプルを

画像にカーソルをあわせてください。

こばゆた
こばゆた

イラストのラーメンが実写に!

このようにhoverは画像に対しても使うことができます。

1-2.:hoverの注意点

しかし一つ注意点があります。下の例は二つとも同じように見えますがカーソルが反応する範囲が異なると思います。

こんにちは

こんにちは

タネを明かすと、上がdiv要素で下がspan要素になっています。

<div>こんにちは</div>
<span>こんにちは</span>

ここで思い出して欲しいのが”block要素”と”inline要素”です。

div,span{
  border: solid #000 1px;
}
/*それぞれに枠をつける*/
こんにちは

こんにちは

つまりdivは”block要素”なので横幅を指定しないと横幅いっぱいに広がり、spanは”inline要素”であるため文字の幅分しかないことになります。

そのためカーソルが乗っても反応する範囲が異なっていました。

「hoverの範囲がおかしい!」となったらその辺りもチェックしてみるのも良いと思います。

スポンサーリンク

2.:active

こちらは対象が押されている状態でなんらかの変化を与えたい時に使います。

セレクター:active{
  プロパティ: 値;
}

active
a:active{
  color: #ddd;
  background-color: #000;
}
/*a要素を押している間だけ色が反転する*/

ボタンを押し込むと色が反転しましたね。

またコチラも画像に対しても使えます。

自販機をクリックしてください

実用的なものとしては他のプロパティと組み合わせてボタンを押した時の動きを出せます。

ボタンをクリックしてください

push!
こばゆた
こばゆた

:activeは使い所がなかなか限られますが覚えておきましょう。

3.まとめ

セレクター番外編まとめ

“:hover”はカーソルが乗った状態の時にスタイルが変わる

セレクター:hover{
  プロパティ: 値;
}

“:active”はカーソルが押し込まれた状態の時にスタイルが変わる

セレクター:active{
  プロパティ: 値;
}
hover
active
a:hover{
  color: #ddd;
  background-color: #000;
}
/*a要素にカーソルが乗ると色が反転する*/
a:active{
  color: #ddd;
  background-color: #000;
}
/*a要素を押している間だけ色が反転する*/

コメント