- ベストアンサー
CSSでリンクの表示をテキストと画像で変えたい
- CSSを使って、テキストのリンクと画像のリンクで表示を変えたいです。テキストのリンクでは常に点線のアンダーラインを表示し、マウスを重ねたときに色を変えたいです。一方、画像のリンクではアンダーラインを表示せず、マウスを重ねたときには動作しないようにしたいです。現在、a:linkとa:hoverを指定してテキストのリンクに適用していますが、画像のリンクには上記の設定が反映されません。
- CSSを使って、テキストのリンクと画像のリンクで表示を変えたいです。テキストのリンクでは常に点線のアンダーラインを表示し、マウスを重ねたときに色を変えたいです。一方、画像のリンクではアンダーラインを表示せず、マウスを重ねたときには動作しないようにしたいです。現在、a:linkとa:hoverを指定してテキストのリンクに適用していますが、画像のリンクには上記の設定が反映されません。
- CSSを使って、テキストのリンクと画像のリンクで表示を変えたいです。テキストのリンクでは常に点線のアンダーラインを表示し、マウスを重ねたときに色を変えたいです。一方、画像のリンクではアンダーラインを表示せず、マウスを重ねたときには動作しないようにしたいです。現在、a:linkとa:hoverを指定してテキストのリンクに適用していますが、画像のリンクには上記の設定が反映されません。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
a要素のボーダーとimg要素のボーダーはそれぞれ別に存在します。 スタイルシートはそのままに、画像リンクの部分を、 <a href="~">=<img src="image/xx.jpg" class="bordernone" style="border:1px solid #ff0000;">=</a> としてみるとその様子が確認できると思います。 この場合、クラスを利用し、 [スタイルシート] a:link { color: black; text-decoration: none; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; } a:hover { background-color: black; text-decoration: underline; color:white; } a.img_url:link { border: none; } a.img_url:hover { text-decoration: none; } [HTML] <a href="~" class="img_url"><img ~></a> このようにすれば良いかと思います。
その他の回答 (1)
- mognol_n
- ベストアンサー率61% (8/13)
基本的にスタイルシートは該当するものをすべて適用します。 この場合<a href="~" class="img_url">~</a>の部分には、a:hoverで定義したスタイルとa.img_url:hoverで定義したスタイルの両方が適用され、デザイン面で重複する場合はa.img_url:hoverの方が適用されます。 よって、背景色をも別にしたい場合は a.img_url:hover { text-decoration: none; } の部分にbackground-colorも記述すればそちらが適用されます。
お礼
ありがとうございます。 実現することが出来ました。
補足
貴重なコメントありがとうございます。 img_url という名前のクラスを作り、画像のa hrefにそのクラスを適用するという概念はよくわかりました。 画像リンク箇所にdottedのラインは表示されなくなりました。ところがa:hover時のbackground-colorは表示されてしまいます。ブラウザは、Firefoxです。 現在、 [STYLE SHEET] a:link { color: black; text-decoration: none; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; } a:visited { color: black; text-decoration: none; border-bottom-width: 1px; border-bottom-style: dotted; border-bottom-color: #333333; } a:hover { background-color: black; text-decoration: underline; color:white; } a:active { color:yellow; text-decoration: none; } a.img_url:link { border: none; } a.img_url:hover { text-decoration: none; } [HTML] <a href="http:~" class="img_url"> <img src="image/test.png"</a> としております。 何か誤りがあるのでしょうか? よろしくお願いいたします。