• ベストアンサー

css:リンク画像の枠消し: a img { border:none} にしてもダメ

リンク画像に、【テキストリンクと同じスタイル】つまりリンクの背景色や枠線が適用されてしまい、困っています。 下のように、entry-bodyというクラスの a を打ち消す a img のスタイルを指定しているのですが…。(色番号は長くなるので#だけにしています)a:visited img や a:hover img も同様に指定しています。また、.entry-body img には、他のスタイル指定をしていません。 どなたかお分かりになったら助けてください! .entry-body a { color:#; background-color:#; border-bottom:1px #;} .entry-body a img { background-color:transparent; border-bottom:none;}

質問者が選んだベストアンサー

  • ベストアンサー
  • tapping_h
  • ベストアンサー率33% (5/15)
回答No.3

だいぶ端折って書きますが・・・。 こちらの環境firefox2 【引用開始】 <body> <p class="entry-body"> <a href="#">hogehgeohgoe</a> ぱたーんいち<a href="#">abc<img src="hogege.gif">def</a><br> ぱたーんに<a href="#"><img src="hogege.gif"></a> </p> </body> 【引用終り】 もし「ぱたーんいち」のようにhtmlを書いているのでしたら、abcdefの部分に<a>に設定したcssが適用されます。<a><a/>の間に<img>ありますので・・・。「ぱたーんに」なら少なくとも背景については表示されないはずです。

asummer
質問者

お礼

★★No.2さんのお礼に書いたように、a img をdivでくくったら、できました。。ダサくて悲しいんですけど。。お騒がせしました。

asummer
質問者

補足

ですよね?? ぱたーんに、で書いているのに、背景もborderも、テキストリンクと同じになるんです。No.2さんがコメントくださったように、テキスト=underline、画像=border:none、にすれば、それぞれ正しく表示されるのに。もう、何が何だか分かりません。

その他の回答 (2)

  • dezimac
  • ベストアンサー率56% (2365/4208)
回答No.2

リンクテキストに下線を付けたいのなら、border-bottomではなく、 「text-decoration:underline;」と指定した方がいいですよ。 a {text-decoration: underline;} a img {border: none;} でうまくいきませんか?

asummer
質問者

お礼

おお!これなら、うまく、いきます!! …ただ、リンクテキストは、paddingとmarginをとって背景色つけて、ちょっと目立つようにしてるんです。なので、underlineではなく、borderにしたくて。。何故、borderにすると、imgのスタイル指定が効かなくなるのっっと長時間なやんでいます(--;

asummer
質問者

補足

(お礼を書いた後ですが) あ! 肝心なことを、質問文に書いていなかったことが分かりました。。 a に、paddingとmarginがとってあるってことは、 a img の a に、borderと背景が表示されてるってことですね! 初歩的なミス。。面倒ですが、 a img をdivでくくって、class作ろうと思います。多分それでうまくいきそう。ありがとうございます!

noname#39970
noname#39970
回答No.1

a img だから効かないのかも a img の状態で 逆に border:5px とかやって効くようなら border:0px にしたらどうなるかな

asummer
質問者

補足

早速ありがとうございます! >逆に border:5px とかやって効くようなら するどい。。効かないんです、それが。borderの幅はテキストリンク a のもの(1px)が適用されてます。

関連するQ&A

専門家に質問してみよう