MTのテンプレートを整形中
MovableTypeのテンプレートをxhtml 1.0 Transitionalに準拠するかたちで整形中だ。
その中で、最初の最初の?xml version="1.0" encoding=〜から始まる宣言文
これを挿入すると、phpでまともに動かない?
http://karina.vivian.jp/archives/mt/movabletypexml.php
いや、動くらしいのだが、IE6での表示がくずれるらしい。
ここ参照。
「xml宣言」を入れていると、IE6.0での表示が「互換モード」になってしまい、レイアウトが大崩れ(特にフォントが特大になってしまうこと、ブロックレベルのセンタリングが効かなくなってしまうこと)で最悪の状態です。
いくら「見た目は二の次」と言っても、やはりIE6.0でのレイアウト表示を犠牲にするわけにはいきません。(でも、IE5.5以下とNN4.x以下ではきっと大崩れですが…)。
xml宣言を入れたいところだが、これは止めた方がいいかな。
これは結局、IEが「互換モード」になっているからで、IE6.0に関しては「標準モード」になっていればきちんとセンタリングされるらしいです。で、その「標準モード」と「互換モード」の切り替えがどこでされるかというと、一行目から始まる「DOCTYPE宣言」なんですって。
それで、XHTMLの場合ですが、なんと一行目に「xml宣言」が入っていると「互換モード」になってしまうらしいです…。入ってなければ「標準モード」。
http://karen.yim-i.net/archives/2005/07/hate_ie.php
てなわけだ。行頭のxml宣言は入れないほうが無難か。