IE6 に対する怒りが増し、だんだんと Microsoft に対して良い気持ちが持てなくなってきました。今回はカロリーデータベースの構築中に、こんなことも正しく解釈できないのか……と思わせるほど、あるはずがない、あってはいけないと思ってしまうほど致命的なバグで忘れやすいものを(自分専用に)まとめてみました。
XHTMLを正しく解釈できないIE6対策
この対策は以下のページを参考にさせていただきました。
PHP で IE 6 の後方互換対策 – Heartfield
1 | <?xml version="1.0" encoding="UTF-8"?> |
IE6は上記の様にXML宣言を書いてしまうと「後方互換モード」になってしまい、すべてが終わります。ですからこのXML宣言を抜くしか対処する方法はありませんが、そんなことをすれば他のブラウザに迷惑です。
というわけで、次の様に記述するとIE6の場合だけXML宣言を抜くことができます。(PHP限定)
1 2 3 4 5 6 7 8 9 10 | <?php $ua = $_SERVER['HTTP_USER_AGENT']; if ( (ereg("Windows",$ua) > 0) && (ereg("MSIE",$ua) > 0)) { if (ereg("MSIE 6.",$ua) > 0) { echo ''; } } else { echo '<?xml version="1.0" encoding="UTF-8"?>'."\n"; } ?> |
Widthとborderとpaddingを一緒に指定できないIE6のためのバグ対策
以下のページが大変参考になります。
ADP: IE6のwidth解釈バグ対処法
このバグは有名ですが、私はよく忘れます。頭の中おかしくなっちゃうくらい意味のわからないバグなので、早く何とかしてほしいです。ちなみにPHPの場合上の記述をすれば改善されるかもですね。
次世代ブラウザ Firefox | 高速・安全・自由にカスタマイズ | 人気ブラウザ無料ダウンロード
floatするとmarginを2倍にするIE6のためのバグ対策
前もリンクしたような気がしますが、以下のページが大変参考になります。
IE6のfloatしたボックスのmarginの値が2倍になるバグ対策の件
Comments