FireFoxで隙間ができてしまう

 カテゴリ:

今日サイトのCSSやテンプレートをいじっていたら、突然FireFoxにだけ、ナゾの青い横線が出たり、divタグとdivタグの間に1ピクセルほどのナゾの隙間が生じる現象が。 ナゾの青い線の正体 うちのナ...

今日サイトのCSSやテンプレートをいじっていたら、突然FireFoxにだけ、ナゾの青い横線が出たり、divタグとdivタグの間に1ピクセルほどのナゾの隙間が生じる現象が。

ナゾの青い線の正体

うちのナビゲーションバー(上のタブになっているやつね)は、ulタグをtext-indentプロパティで横並びに変えております(XHTMLというやつだ)。ここにナゾの青い横線が発生。どうやらテキストの下線に付くべきものが表示されるらしい。

これを消すには、スタイルシートで「text-decoration:none;」してやればいいみたい。うちのナビゲーションバーはCSSのロールオーバーが付いているから、サッパリわからなかった。でも、青と言ったらリンクの色。勘の良い人なら、リンク絡みだとすぐにわかったんだろうなぁ

divタグとdivタグの間の、ナゾの隙間の正体

こんな感じでdivタグをdivタグでくくるケースは多い。ここで、area1とarea2の間に、1ピクセルほどの隙間が生じるんである。普通は気がつかないが、background-imageで画像を使っていると、隙間を見つけちゃうんである。

<div id="content">
 <div id="area1">
     .
     .
     .
 </div>
 <div id="area2">
     .
     .
     .
 </div>
</div>

しかも、まったく同じCSSを使っているのに、隙間ができる場所にはできて、できない場所にはちっともできないんである。なんですとこれは。

mdのケースでは、area1とarea2の間に隙間が生じてレイアウトがずれたんですが、ずれるところは決まって「idの最後の部分にaタグがある」のが特徴。トライ&エラーの結果、原因はCSS側ではなく、HTML側にありました。

mdは律儀にHTMLをタブで字下げしてコーディングしていたんですが、aタグで囲まれる部分を改行をせずにびっちり詰めたら、アッサリ直りやがんのさー。わかるかーこんなのー(TT)

そういえば、Win版IEでのliタグやネスケのテーブルのtdで、変に隙間ができるなどの現象が起きることがあるのと似ています。変だと思ったら、liやtdタグ部分は、HTMLコードを改行しないようにすると直るかも知れません。