xml宣言するとIE6でレイアウトが崩れる問題
Internet Explorer6は、XHTMLの ドキュメント宣言よりも前に文字やスペースがあると、古いブラウザ用の表示モード(互換モード)になってしまいます。
これによりサイトの表示やレイアウトが崩れる原因にもなるようです。
IE 6で互換モードになってしまうと、CSSで指定したwidthプロパティやheightプロパティの解釈が変わってしまうのです。この問題を避けるため、XML宣言をしないサイトも多いようです。
まぁそれでも崩れないように組むのが常識なのですが、PHPで対応することも可能のようです。
/*----------------------------*/
<?php
$ua = $_SERVER['HTTP_USER_AGENT'];
if (!(ereg("Windows",$ua) && ereg("MSIE",$ua)) || ereg("MSIE 7",$ua)) {
echo '<?xml version="1.0" encoding="' . get_settings('blog_charset') .'"?>' . "\n";
}
?>
/*----------------------------*/
これでIE6以外にXML宣言ができるようです。
日時: 2008年10月 3日 16:20 | パーマリンク | コメント (195)