先日ホームページの表示乱れについて報告しましたが、その原因が分かってきました。
結論から言いますと「IE6の解釈が良くない」ということです。
以下wikipedia:cssより引用
「ボックスにwidth属性を設定したとき、W3Cのボックスのモデルでは内容の横幅であると解釈される。そしてパディングとボーダー分の横幅は要素の横幅に追加される。
他方マイクロソフトのボックスのモデルではwidth属性は内容の横幅とパディングとボーダー分を足したもの、即ち要素全ての横幅になる。(中略)
しかしInternet Explorer 6では!DOCTYPEが正確ならば標準準拠モードに移行出来る(ただXMLやXHTMLの場合、XML宣言を仕様通り書くと過去互換モードでレンダリングされるバグがある)。」
つまりXHTMLを仕様書通りに表記しIE6で読み込んで表示させたものと、同様にしてFirefoxなどで読み込ませたものは違って見えるということです。
これを回避する方法ももちろんあり、例えば入れ子にする方法があります。
また少々イレギュラーですがXHTMLを仕様書通りに記述しない方法もあります。
…しかしせっかくソースをHTMLからXHTMLに書き直したのですが、現在HTML5の策定が進行中だそうで、あと5年くらいで書き換えの必要性が出てくるやもしれません。