IE6でXML宣言をすると互換モードになる
XHTMLでは、XML宣言をする必要がありますが、IE6ではDOCTYPE宣言の前に半角スペースや改行以外の文字列があると、互換モードなってしまい、marginのautoによるセンタリングができなっくなったり、widthにpaddingの値が含まれたりとレイアウトが崩れることがあります。
この不具合(バグ)は、以下何れかの方法で解消することができます。
XML宣言を行わない
XHTMLでは、XML文書であるためXML宣言が必須とされていますが、文書のcharsetがUTF-8またはUTF-16か、HTTPヘッダーでContent-Typeが正確に設定されていれば、XML宣言を省略することができます。
XHTMLで書かない
XML文書以外で書いてしまう方法です。
CSSハックを使用してIE6のみ別の指定を行う
CSSハックを使用してIE6のみ別の指定を行う方法です。
余分な指定が入ってしまうため、メンテナビリティが損なわれたりします。