小池啓仁 ヒロヒト応援ブログ By はてな

小池啓仁(コイケヒロヒト)の動画など。

小池啓仁 ヒロヒト応援ブログ By はてな

DOCTYPE宣言と表示モード

詳解HTML & XHTML & CSS辞典
IE等のブラウザには、読込むHTMLのDOCTYPE宣言の有無や種類によって、大きくわけて2種類の表示モードがあります。
表示モードは CSS や HTML の解釈を変える機能のことで、その2種類は、standards mode(標準準拠モード)とquirks mode(後方互換モード)です。
標準準拠モードは、CSSやHTMLの仕様に準拠した厳格な表示モードです。
後方互換モードは、CSSやHTMLの仕様に準拠していない古いブラウザとの互換のある表示モードです。
標準準拠モードと後方互換モードでの表示の仕方の違いは、主に以下の通りです。

  • 後方互換モードでは、HTMLで色指定に『#』がなくてもOK
  • 後方互換モードでは、CSS で色指定に『#』がなくてもOK
  • 後方互換モードでは、数値に単位が無くてもOK
  • 後方互換モードでは、数値と単位の間に空白があってもOK
  • 後方互換モードでは、キーワードが "" で括られてもOK
  • 後方互換モードでは、標準フォントサイズがsmallになる(標準準拠モードではmedium)
  • 後方互換モードでは、width,heightの計算でボーダーとパディングを含む(標準準拠モードでは含まない)
  • まだあります。参考リンクを参照してください。

IE8では、標準準拠モードがデフォルトとのことで、これからはなるべく、標準準拠モードが推奨かも。
IE7以下では、後方互換モードがデフォルトで、標準準拠モードにするには、DOCTYPE宣言にシステム識別子を含めます。
つまり、DOCTYPE宣言無しや、あってもシステム識別子を含めないと後方互換モードになってしまうのです。
ちなみに、システム識別子とは、以下のDOCTYPE宣言での"http://www.w3.org/TR/REC-html/40/strict.dtd"の部分です。

DOCTYPE宣言

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html/40/strict.dtd">