このページは、2005年8月後半から2010年12月までのアーカイブです。
2005年8月後半から2010年12月までのアーカイブトップへ
現在のトップページへ

PHP&XML宣言を入れても正常に表示させる

Nagi
   2005.10.12 14:32

MT3.2のデフォルトテンプレートをなるべくいじらずに修正していたのですが、ひとつ壁にぶつかりました。

デフォルトテンプレートにはPHP&XML宣言はないのです。
この状態でハックなどを仕込み、いざ宣言いれてみたら・・・なんじゃこりゃ~、ってことに。

仕込んでたハックは、これ。

#alpha {
margin: 30px 0px;
padding: 45px 45px 20px 45px;
border: #bbb 1px solid;
width: 550px;
voice-family: "\}\"";
voice-family: inherit;
width: 458px;
}
html>body #alpha {
width:458px;
}
これで完璧のはずが・・・

bug1.gif

<?php echo '<?xml version="1.0" encoding="<$MTPublishCharset$>"?>'."\n"?> を入れると、こうなる(WinIE6の画面)。

bug2.gif

WinIE6のみのようですが、width: 550px;からpadding、border分引かれているようです。

MTでphp化しているサイトの多くはXML宣言をはずしている模様。
しかし、これ入れないとAnother HTML-lint gatewayで大幅に減点されてしまう。困った・・・。

でも、今までこんなことにはならなかったんだから、従来のやり方でやれば問題ないんでは、と思い当たり以下に変更。

#alpha {
width: 550px;
}
#alpha-inner {
margin: 30px 0px;
padding: 45px 45px 20px 45px;
border: #bbb 1px solid;
}

問題なし!

ただひとつ、マックのSafariだけ、タイトルがboldにならない現象が起きますが、とくに支障はないので、まあいいか。