Fight the Future

Java言語とJVM、そしてJavaエコシステム全般にまつわること

IE6ではXML宣言があるとwhite-space:pre;を理解しない

1. <?xml version="1.0" encoding="EUC-JP"?>
2. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
3. <html xmlns="http://www.w3.org/1999/xhtml" xml:lang="ja" lang="ja">

この様なDOCTYPE宣言をしていますがこの場合 Internet Explorer ではDOCTYPEスイッチが互換モードになってしまう様です。

これを回避する為には

1.

http://fula.jp/blog/index.php?no=r717

XML宣言があると、IE6では後方互換モードで動作することが原因のようです。


Teedaのドキュメントにも記載があります。

注意点

IE6など,ブラウザによってはXML宣言があると標準準拠モードではなく, 後方互換モードでレンダリングされてしまう場合があります. 標準準拠モードでのレンダリングを期待する場合は, XHTMLファイルはUTF-8で記述し, XML宣言を省略します.

http://teeda.seasar.org/ja/extension/reference/xhtml.html#%E5%AE%A3%E8%A8%80