HTMLによって違うブラウザの動作。
どのHTMLでもブラウザが一様に動作してくれればうれしいのだが、厄介なことにブラウザによって動作するモードが違う。それが過去互換モードと標準準拠モードだ。このモードによってCSSの動作が変わってしまう。
どの記述でどのモードになるかはHTMLの先頭に書くDOCTYPE宣言によって決まる。
宣言自体はHTML・DOCTYPE宣言に書かれている。
DOCTYPE | WinIE6 | MacIE5 | Gecko |
---|---|---|---|
なし | 過去互換 | 過去互換 | 過去互換 |
HTML3.2以前 | 過去互換 | 過去互換 | 過去互換 |
HTML4.01[システム拡張子あり] | 標準準拠 | 標準準拠 | 標準準拠 |
HTML4.01移行型[システム拡張子なし] | 過去互換 | 過去互換 | 過去互換 |
HTML4.01厳密型[システム拡張子なし] | 標準準拠 | 過去互換 | 標準準拠 |
XHTML[XML宣言あり] | 過去互換 | 標準準拠 | 標準準拠 |
XHTML[XML宣言なし] | 標準準拠 | 標準準拠 | 標準準拠 |
ややこしい宣言は除く。これによってブラウザの動作が大きく変わる場合があるのでできるだけ統一したほうがよい。ちなみにこのサイトはXHTMLでXML宣言ありなのでもろにIEだけ動作が違ったりする。