少々古い話なんですが、先月まで会社のサイトのリニューアル作業をしてました。最初に考えたのは、文字コードをどうするかという点とdoctypeを何にするかということ。今まではあまり気にしてなかったんですけどね。
で、今回からutf-8&XHTML 1.0 Transitionalということにしました。HTMLとCSSにキチンと分離して、
Another HTML-lint gatewayで100点なのを確認して、最後にIEでデザインチェック(作成中はFirefoxで見てるんで)・・。ところがIE6はXML宣言があると後方互換モードになってしまうんですね。
#今まで意識してなかったので知らなかった(汗
IE7では修正されているようなんですが、IE6で崩れるのは許容範囲外(社内標準はIE6だし)。あわてて全ファイルの先頭にphpスクリプトを埋め込むことに
<?php
if (!strpos($_SERVER['HTTP_USER_AGENT'], 'MSIE')) {
print '<?xml version="1.0" encoding="UTF-8"?>' . PHP_EOL;
}
?>
とりあえずこれでOKだけど、IEでは100点取れないな(苦笑
(追記)
IE7では修正済みってことだから、「MSIE 7」が存在したら出力するようにしないといけないか・・。本当に面倒なやつ>IE。