Firefoxで、左のborderが1pxずれる
Firefox3.0で、下のような時に発生。
<div class="section"> <h2>タイトル</h2> <table> //テーブルの内容 </table> </div>
cssの指定はこんな感じ
.section { width: 500px; } .section h2 { background: url(img/hoge-bg.gif) no-repeat left top; } .section table { border-collapse: collapse; border: solid 1px #333; width: 100%; }
このような指定にするとテーブルの左ボーダーが、1px左にズレます。
調べてみると、どうやらborder-collapseが原因のようで、
統合ボーダーモデルでは、その名の通りボーダーが統合された状態で表示される。各ボーダーモデルはセル間を中心に表示されることになる。テーブル上下左右にはボーダーの半分がはみ出すので注意が必要だ。
との事らしい。 テーブルのborderを10pxとかにするとよく解ります。
解決方法としては、テーブルの、border-collapse を separate にし、border-spacing を 0 にすればいいとの事です。
詳しくはこちら
border-collapse | A Day in the Life
でもIE6だとborder-spacingに対応してないので、別途ハックが必要かも。