- 目次
- Windows版InternetExplorerのDOCTYPEスイッチ
- Netscape(Mozilla)のDOCTYPEスイッチ
- OperaのDOCTYPEスイッチ
- JavaScriptによるモードの確認
- DTDによるモード切り替えの表
各UAのDOCTYPEスイッチについて
今更という気もしますが、総合情報サイトということで、一応書いておこうと思います。
現在、DTDの種類によって動作を変えるUAが5つ確認されています。
Windows版InternetExplorerのDOCTYPEスイッチ
一番やっかいなものですので、最初に解説します。
実装されているのは、最新バージョンである6.0のみです。標準準拠モードというものがあり、以下のように仕様が異なります。
変化を確認出来なかったものについては、?を付してあります。
- 標準準拠モードではない場合、'width'はボーダー辺までの距離となります。
- IMGにパディングが適用されます。
- 標準準拠モードではHTMLが、そうでない場合はBODYがキャンバスとなります。以下のものの適用対象が異なるということです。
- scroll属性?
- 'overflow'、'overflow-x'、'overflow-y'
- BODYとHTMLそれぞれに個別の背景を指定出来ます。
- 'margin'と'width'に[auto]が指定可能です。(ブロックの右寄せ、中央寄せが可能)
- "white-space: pre"が利用出来ます。
- 'font-size'の標準が[medium]になります。
- インラインの'width'及び'height'を無視します。
- TABLEが'font-family'以外のプロパティも、BODYからではなく親から継承するようになりました。
その他、仕様が厳密になっていますが、きちんと勉強してらっしゃる方であれば一切気にする必要はありません。
標準準拠モードが有効になる時については、DTDによるモード切り替えの表をご覧ください。
Netscape(Mozilla)のDOCTYPEスイッチ
Netscapeでは、3つのモードがあります。
それぞれのモードになる時については、DTDによるモード切り替えの表をご覧ください。
Standardモード2種とQuirksモードとの差については、きちんと勉強してらっしゃる方であればあまり気にする必要はありません。Windows版InternetExplorerと互換性を持たせる為にあるようなものです。
ただ、テーブル・レイアウトをなさっている方には、一つ気を付けて欲しいことがあります。それは、小さめの画像のみをセルに入れておく場合です。行の高さよりも小さな画像を置くと、その差分の透き間が出来ます。
それと、HRの扱いが異なります。
OperaのDOCTYPEスイッチ
バージョン7から採用されています。Windows版InternetExplorerに似せて、2種類のモードがあります。
それぞれのモードになる時については、DTDによるモード切り替えの表をご覧ください。
Compatibleモードでは、Standardモードと比べて、以下の点が異なります。
- 'overflow'が指定されていても'height'を無視して高さが変わります。
- TABLE内へプロパティが継承されません。(IEとの互換)
- インラインにも幅指定出来ます。(IEとの互換)
- 'font-size'の標準が[small]です。(IEとの互換)
- 'width'はボーダー辺までの距離となります。(IEとの互換)
関係で、'box-sizing'を先行実装しています。(MacIEでも実装済み。Mozillaでは'-moz-box-sizing')
その他、仕様が厳密になっていますが、きちんと勉強してらっしゃる方であれば一切気にする必要はありません。
にしても、「唯一WMLを認識します」と言っても、他と同じように解釈されるんじゃぁ意味無いじゃん・・
JavaScriptによるモードの確認
Macintosh版InternetExplorer(MSDNによるとサポートしていないらしい)、Safari(Mozillaと同形態のDOCTYPEスイッチのようです)に関しては確認がとれませんが、他のUAではJavaScriptのdocument.compatModeプロパティをサポートしており、[BackCompat]という値を返す時は互換(Quirks、Compatible)モード、[CSS1Compat]という値を返す時は標準(Standard)モードで動作しています。
DTDによるモード切り替えの表
というわけで、3種類のブラウザの各モードについての表です。
にしても、4.0 Strictで標準で、4.01 Strictで互換って、本気で何? Windows版InternetExplorerと同じ解釈が通ってしまうかも・・・誰か試しませんか?
DTD | WinIE | Netscape | Opera |
---|---|---|---|
2.0 | 互換 | Quirks | Compatible |
2.0(国際版) | 互換 | Full Standard | Compatible |
3.2 | 互換 | Quirks | Compatible |
4.0 Strict(URL無) | 準拠 | Full Standard | Standard |
4.0 Transitional(URL無) 4.0 Frameset(URL無) |
互換 | Quirks | Compatible |
4.0 Strict(URL有) | 準拠 | Full Standard | Standard |
4.0 Transitional(URL有) 4.0 Frameset(URL有) |
準拠 | Quirks | Standard |
4.01 Strict(URL無) | 準拠 | Full Standard | Standard |
4.01 Transitional(URL無) 4.01 Frameset(URL無) |
互換 | Quirks | Compatible |
4.01 Strict(URL有) | 準拠 | Full Standard | Standard |
4.01 Transitional(URL有) 4.01 Frameset(URL有) |
準拠 | Almost Standard | Standard |
XML | 互換 UTF-8の場合のみ準拠 |
Full Standard バージョンと場合によりQuirks |
Standard |
XHTML 1.0 Strict | 互換 UTF-8の場合のみ準拠 |
Full Standard | Standard |
XHTML 1.0 Transitional XHTML 1.0 Frameset |
互換 UTF-8の場合のみ準拠 |
Almost Standard | Standard |
WML 2.0 | 準拠 | Full Standard | Standard |
なし | 互換 | Quirks | Compatible |
不正 | 互換 | Quirks | Standard |
不明なDOCTYPE | 準拠 | Full Standard | Standard |
DOCTYPE html PUBLIC URL無し |
準拠 | Full Standard | Standard |
DOCTYPE html SYSTEM 除くIBM DOCTYPE |
準拠 | Full Standard | Standard |
IBM DOCTYPE | 準拠 | Almost Standard | Standard |
内部サブセットを伴ったDOCTYPE | 準拠 | Full Standard | Standard |
※ISO-HTMLを含め、細かな宣言に関しては載せていません。