![]() IE6でのXML宣言の問題と回避方法Internet Explorer6は、XHTMLの <!DOCTYPE...宣言よりも前に文字やスペースがあると、古いブラウザ用の表示モード(互換モード)になってしまいます。この不具合は、サイトの表示が崩れる大きな原因にもなります。IE 6で互換モードになってしまうと、CSSで指定したwidthプロパティやheightプロパティの解釈が変わってしまうのです。この問題を避けるため、 XML宣言をしないサイトも多いようです。 <?php $ua = $_SERVER['HTTP_USER_AGENT']; if (!(ereg("Windows",$ua) && ereg("MSIE",$ua)) || ereg("MSIE 7",$ua)) { echo '' . "\n"; } ?> 上記のコードは、訪問者のブラウザがWindowsのIE以外だった場合に、XML宣言をするようになっています。ただし、XML宣言の不具合はInternet Explorer7.0bでは直っているそうなので、その場合の処理も書きました。 |