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