※ ChatGPTを利用し、要約された質問です(原文:画像のロールオーバーがずれてしまいます。(CSS))
CSSを使用したロールオーバー画像のずれ対策
このQ&Aのポイント
CSSを使用してテーブル内の画像にロールオーバー効果を実装する際、ロールオーバー後の画像が微妙にずれて表示されることがあります。
この問題を解決するためには、ロールオーバー前後の画像のサイズを完全に一致させることが重要です。
また、td要素の余白やパディング、ボーダーなどにも注意を払い、要素間の干渉を避ける必要があります。
画像のロールオーバーがずれてしまいます。(CSS)
テーブルを作り、tdタグの一箇所の背景にロールオーバー時の画像を配置しておき、a要素にマウスがかかった際にtd内にあるimg要素にvisibility:hidden;にするというロールオーバーを作りたいと思っています。
しかし実際に作ってブラウザで見てみると、ロールオーバー後の画像
(背景として設定しているもの)が微妙に1pxほど斜め下にずれて表示されてしまいます。
このような事を防ぐためにはどんな事に気を付ければ良いでしょうか?
ちなみに、ロールオーバー前の画像とロールオーバー後の画像2枚を
全く同じサイズにしています。
参考までにタグを下記に記述していますので、どなたか見て頂けませんでしょうか。宜しくお願いいたします。
-------------------------------------------------CSS
td.1{
background:url(image01.jpg) no-repeat;
}
td.1 a{
display:block;
}
td.1 a:hover{
background-color:transparent;
}
td.1 a:hover img{
visibility:hidden;
}
-------------------------------------------------HTML
<table>
<tr>
<td class="1"> ←このtd内の画像
<a href="top.html"><img src="image01.jpg"></a>
</td>
<td>
<a href="top02.html"><img src="image02.jpg"></a>
</td>
<td>
<a href="top03.html"><img src="image03.jpg"></a>
</td>
</tr>
</table>
お礼
steel_grayさん、ありがとうございます。 テーブルにpadding:0;を追加したら無事重なって表示されるようになりました。