loading ...

2004年7月19日

全体の枠(inbox)のセンタリング

トラブル覚え書きの続き。この問題には文書のPHP化と同じくらいか、あるいはそれ以上に手こずらされた。
はじめのうちは中央に配置できていたはずの全体のテーブルが、ある時から急に左寄せになってしまった。どうしても左側が空かない。
スタイルシートのテンプレを見ると、この全体のテーブルを「inbox」と定義している。つまり、#inbox { }で囲っている中に中央配置のための指定をすればいいわけで、


#inbox{
margin-left: auto;
margin-right: auto;

これで済むはずなのだ。(「自動(auto)で左と右の空間を空けろ」という指定らしい)
この指定を無視して左に寄っているテーブル。なんでおまえは人の話を聞かないのか。いや、最初は聞いていた。カスタマイズを続けるうちに命令違反をするようになったのだ。何かどうしても納得のいかないことがあって言うことを聞かなくなったわけだ。
仕方がないのでスタイルシートをいじくり回すがどうにもならない。違うテンプレを使ってまったく新しいページを作ってみても、申し合わせたように左寄せになる。


これはサーバーのデータベースか何かが悪いんではないか。MYSQLの仕組みはよくわからないけど、あそこに何らかの情報が残っていて、こっちで何をどんなに変えようが古い情報が読み込まれてしまうのかも。
などと素人解釈をし、とうとうデーターベース初期化、という暴挙に出た。もちろんMT自体も削除して再インストールである。はじめからやり直しだ。プラグインが使えなかった時は何とか回避したのに、とうとうやってしまった。あーあ。


しかし断腸の思いで決行した再インストールも全く役に立たなかった。ページは依然左寄せなのである。これほどへこんだことは近年なかった。
もう完全にムキになったわたしはとことん原因を追及することに決めた。スタイルシートだけでなくMain Indexのテンプレも、しらみつぶしに書き換えてはリビルドして、どの記述が障りになっているのか調べまくる。


その結果、これが悪かったと判明。


<?php echo '<?xml version="1.0" encoding="<$MTPublishCharset$>" ?>'."\n" ?>


テキストのPHP化の時に、「これが冒頭になければエラーが出たり文字化けする」と知って書き加えたものだ(Movable Type 参照)。これを外せば中央配置になるのである。
文字コード関係のタグだったとは完全に盲点だった。スタイルシートの問題じゃなかったんだな・・・。
しかし、外したら当然エンコード関係で問題が起きるだろう。どうすればいいか。
ふと見るとそれのすぐ下にこんな記述が。


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


上はxml1.0で下はxhtml1.0・・・。似たようなのが重複してるから悪いんじゃないか?意味はわからないのだがなんとなく似てるような気がする。(いい加減な)
またもや素人考えで今度は「<!DOCTYPE html〜」の方をググってみた。するとこんなページを発見。


DOCTYPEスイッチ (ふろむにぅじぃ)


<!DOCTYPE html 〜」の記述があるかないかでスタイルシートの適用範囲が変わると書いてある。スクロールバーの色を変える時にhtml { } 内で指定しなければ効果が現れなかったのは、これのせいだ。「<!DOCTYPE html 〜」の指定がないと全体のブロックが左寄せになる、とも書いてある。
つまり「<!DOCTYPE html 〜」より上部に「<?php echo '<?xml version="1.0" 〜」の記述をしてしまったことによって、DOCTYPEの効力が打ち消され、全体が左寄せになったらしいと推測できる。つーかこれ以外に考えつかないし。DOCTYPEのタグそのものは消してないんだから。


だったら順番を入れ替えりゃいーのか?と思い、「<!DOCTYPE html 〜」の下に「<?php echo〜」を持ってきた。これでリビルド。


やっと・・・やっと中央に配置された・・・!(感涙)


でもこれで文字化けの方は大丈夫なのかなー。今度は「<?php echo〜」の効力の方が打ち消される、なんてことはないんだろうか。

今のところは正常に表示されてるのでこのままいくけど、xmlとかDOCTYPEそのものについてはこれ以上詳しく調べる時間と根気がないので、依然謎が残るのだった。



 blogランキング参加中

投稿者 : ナツ at 2004/07/19 | カテゴリー : Movable Type
コメント


コメントする


トラックバックURL

このエントリーのトラックバックURL: