table
タグを block 要素とするかあるいは inline 要素とするか,
というところだ.
table
は通常は block として取り扱われる.
table {display: inline}
というふうに定義していた.
こうすると
div {text-align: center}
などなどとしておけば,
<div><table>...</table></div>
テイブルがセンタリングされる,
という使い方をしてたんだよねぇ
……
table
が inline 化されて当方の望んだとーりに表示される.
Netscape4.x 系では,
後述するべつの理由によって,
これまた text-align:
でレイアウトできてしまう.
しかし Macintosh 用 MSIE5 では,
どういうつもりなのか
table
は block として扱うべし,
というふうに決められているようで,
上のようにすると表示がめちゃくちゃになる.
table {margin-left: auto; margin-right: auto}
というふうに定義しておけば
(かつテイブルの幅をなんらかの方法,
たとえば <table style="width: 500px">
などと明示的に指定しておけば),
これでテイブルはセンタリングされる
……
なるほど!
margin-...: auto
ワザが使えない.
どうすればよいか?
<tag style="text-align: ...">
などを適用してしまう,
という奇癖がある.
これを悪用してセンタリングしたい block 要素を
text-align: center
してしまえばよい.
他のブラウザーでは block 要素に text-align
指定しても無視されるばかりである
(ただし block 内のテキストには適用されてしまうけれど
…… 他に指示がなければ).
table
タグを
レイアウトに使うのがそもそもへっぽこ,
と言われるかもしれないけど
……
うーむ,
当面の妥協策として CSS + <table>
ということで.
[美容院地球環境]
とくに匿名希望する料理人のアタマを とくに匿名希望する理容師が刈っているところ. 白衣着用のこの理容師, 無免許なれどかなりの腕前です. |