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 |

トラックバック

このエントリーのトラックバックURL:
http://d-skate.xsrv.jp/cgi/mt/mt-tb.cgi/86

コメント (195)

slowly scenarios page

details nations concentrations

Hello! bdbgbce interesting bdbgbce site!

Hello! dfggdda interesting dfggdda site!

I enjoyed reading your blog. Keep it that way.

Wonderful read, I just passed this onto a colleague who was doing a little research on that. And he actually bought me lunch because I found it for him smile So let me rephrase that: Thanks for lunch!

コメントを投稿

今が旬なお勧めサイトのご紹介!!

富貴蘭の事ならシード園芸

FX情報