IE6のロールオーバがくがくは、横幅指定のせい?

おそらく今となっては、多くの方がCSSによるロールオーバを実現していることだろう。
たとえば<a>タグのプロパティ「display」を「block」にし、背景画像を設置する。
その背景画像は、通常用とマウスオーバ時の2つが1つの画像になっており、マウスオーバ時には、その背景画像の位置をずらすことによって、ロールオーバを実現するというもの。


ときどきで、かつ、IE6のみなのだが、これがうまくいかないことがあった。


どううまくいかないのか、というと、ロールオーバ自体は、うまくいっているのだが、その画像部分の下辺りが、オーバ時にがくっと1行分くらいのスペースができていた。
これは一体何なんだぜ? と思いつつ、いろいろ試してみたのだが、前回は「height: 1%」の指定でうまくいった。
今回は、widthの指定を変えることによってうまくいったのだ。


知っての通りIE6は、なぜかぴったりサイズを「横幅が大きすぎますよ」と受け取ってくれる。素敵な足し算が行われている。


たとえば横幅600pxのDIVの中に、横幅200pxと400pxのDIVがあった場合、ちょうど600pxってことで、他のブラウザ、あとIEでも7以上は、きちんと計算してくれるのだけど、IE6はそうはいかない。
今回のロールオーバがくがくも、この横幅を少し狭めてあげると解決した。


うーん、しかしこれが本当なのかは、わからない。
時と場合によって、今回はこの横幅問題が当てはまったような気がする。
ひとつのパターンとして、考えてほしい。