IEでmargin: autoを実装するには

IEはダメなブラウザです(断言)。
なぜなら、CSSをちゃんとサポートしてないから。


特にmargin:autoに関するサポートがひどい。
センタリングされねぇ。で、仕方なくtext-align: center
とかして逃げてしまう。


でも回避法がある。
どうも文章型宣言でIEでもmargin: autoによるセンタリング
ができるようになるらしい。

<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
>
# 公開識別子
"-//W3C//DTD XHTML 1.0 Transitional//EN"

# システム識別子
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"

これが文章型宣言。
で、これの公開識別子とシステム識別子の設定をいじれば
レンダリングモードが変わるらしい。


まぁぶっちゃけた話、これを指定すればいいんだけど、
ブラウザのレンダリングには互換モードと標準モードが
あって、それを切り替えるのがこの文章型宣言。

互換モードと標準モード

互換モード:
これまでの古い形式のHTMLをサポートする。


標準モード:
今の新しい「CSS標準」をサポートする。


よく知らないけど今はHTMLではなくて、XMLにのっとって
XHTMLが標準みたくなってるっぽく(曖昧)、昔のCSS
なかった時代のモードでレンダリングもできるように
なっているが、それがバグの温床とはね…。


とにかく、標準モードになるようにすれば大丈夫。
ちなみにGMO系の某サービスはちゃんとこれが指定してあった。
さすが。


しっかしIEはホント(ry


IEでの文書型宣言と(X)HTMLのレンダリング|WALK SLOW, AGAINST THE FLOW.|BLOG
http://www.110chang.com/blog/2006/07/iexhtml.html


各HTMLバージョンのDOCTYPE宣言のサンプル集
http://www.animegif.net/tips/html/doctype-html-public.html


XMLの基本XML -TECHSCORE-
http://www.techscore.com/tech/XML/Basic/3_3.html


標準モードと互換モードについて:HTMLタグ辞典 - HTMLタグボード
http://www.dspt.net/html_tag/mode.html