低価格・高品質・最速のHTMLコーディングはクロノドライブへ

「後方互換モード」と「標準準拠モード」それに関わるIE6のバグまとめ

最近のブラウザは、その(X)HTML文書がどの仕様・バージョン・文法に従って書かれているかを示す「宣言」を解釈し「標準準拠モード」(W3Cの仕様に準拠)と「後方互換モード」(W3Cの仕様に準拠していない)とを切替えて表示しています。
宣言には「XML宣言」と「DOCTYPE宣言」とがあり、このブログを例にとって見ると以下の二つです。

XML宣言

<?xml version=”1.0″ encoding=”EUC-JP”?>

DOCTYPE宣言

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

XHTML文書には「XML宣言」を記述することが推奨されていますが、IE6.0では「DOCTYPE宣言」の前に文字が存在すると、「後方互換モード」になるというバグがあります。
つまり、XHTMLでコーディングをするとIE6.0では「後方互換モード」、その他のブラウザでは「標準準拠モード」と必ず表示に違いがでます。
文字コードがXMLのデフォルト値である、UTF-8かUTF-16の場合「XML宣言」を省略できることになっていますが、HTML-lintだと点数を引かれたり、どうしてもXML宣言を外せないという場合を考え、「後方互換モード」と「標準準拠モード」のどちらで表示しても対応出来るコーディングテクニックを覚えましょう。

「フロントエンドエンジニアの教科書」を出版しました!HTML・CSS・JavaScript+α 次世代コーダーのための仕事術

HTMLコーダーからフロントエンドエンジニアにステップするために必要な知識と技術を解説。
現場で求められる人材となるためには、何を知っていて、何ができなければいけないのか。
Web制作の最先端にいるクロノドライブだからこそ教えられるノウハウが満載です。

出版社名:ソフトバンククリエイティブ
著者:クロノドライブ

Amazon.co.jp詳細ページへ