★ガ━━(゚Д゚;)━━━ン!!!!!ここ数年書いてきたHTMLだとIE6に対応できてない!!
ほら、例のIE6テーブルセンタリング事件ですよ。
ふり的には、「Mozilla使ってるから関係ないさふふん」とか余裕かましてましたが、今日やっと気づきました。
ご丁寧にdtdの在処を示していたことが裏目に出ていたことに(; ´Д⊂ヽ今までは、こう書いてたんですよ。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/REC-html40/loose.dtd">
<html lang="ja">
<head>
この場合、IE6では標準モード(Strict)して認識するようです。
つまり、Transitionalって書いてあるにもかかわらず、Transitionalと判断してくれない・・(?)らしい。
じゃあどうするかっていうと、
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html lang="ja">
<head>
違いはDOCTYPE宣言のとこだけですけどね。こうすると、Transitionalと判断するためか、IE5.5と同様な表示となり、センタリングも普通です。
これは後方互換モードというそうです。
ただし、IE5.5まではバグとして、
・table要素が、親要素のalign属性を継承していない
・table要素の親要素に中央揃えの指定がある場合、ブロック要素であるtable要素自体が中央揃えになってしまう。
#だんだんややこしくなって参りました。
例を挙げると、
<div align="center">
<table width="100%">
<tr>
<td>aaa</td>
</tr>
</table>
</div>
こうしたとき、標準モードでは、セル内の文字もセンタリングされます。が、テーブル自体はセンタリングされません。左に寄ったままです。
後方互換モードでは、セル内の文字は左寄せになります。そして、テーブルはセンタリングされます。
結局面倒なのは、後方互換モードって、結局HTMLの解釈が間違ってるわけなので、これまでの常識(*1)は間違っていたと、そういうことなわけです。
*1 align="center"でテーブルをセンタリングできることと、そのテーブルのセルは左寄せがあたりまえだと思っていたこと
ちなみに、margin-right:auto; margin-left:auto、そしてtext-align: center;を指定してあげれば、センタリングになるそうです。