visibilityで画像置換
こんにちは、ゼノフィ渡部です。
CSSのvisibilityで画像を置換する方法をご紹介いたします。
通常時の画像をimgタグで表示し、ホバー時の画像を背景で表示、そしてホバー時は不要なimgの画像を非表示にします。
visibilityで画像を置換する際のメリットは、通常時の画像はimgタグで表示させるので、ブラウザの印刷プレビュー、ページ設定の「背景の色とイメージを印刷する」などの設定をせずとも印刷できる点にあります。
「p.btn a:hover」でpタグのa要素がホバー時、置換用の画像を表示させます。
1 2 3 | p.btn a:hover { background: url(btn_on.gif) no-repeat; /* ホバー時のボタン画像を指定 */ } |
「p.btn a:hover img 」でpタグのa要素がホバー時、htmlファイルに記述しているimg画像を「visibility: hidden;」で非表示にしています。
1 2 3 | p.btn a:hover img { visibility: hidden; /* ホバー時にimg画像を非表示に */ } |
CSS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | p.btn img { border: 0; /* img画像の余分なボーダーを消去 */ } p.btn a { display: block; /* aタグをブロック要素に */ width: 113px; height: 43px; } p.btn a:hover { background: url(btn_on.gif) no-repeat; /* ホバー時のボタン画像を指定 */ } p.btn a:hover img { visibility: hidden; /* ホバー時にimg画像を非表示に */ } |
HTML
1 2 3 4 5 | <p class="btn"> <a href="#"> <img src="btn_off.gif" width="113" height="43" alt="ボタン" /> </a> </p> |