プロが教える店舗&オフィスのセキュリティ対策術

テーブルを無条件で中央寄せする方法を知りたいです。テーブルのセルの中にテーブルを作ったり・・・などしているので、是非ともマクロで全てのテーブルを中央寄せする方法を知りたいのです。
table{text-align:center;}
でいいんでしょうか?

A 回答 (2件)

よくないです。



text-alignはインライン要素に対して適用するものです。table{text-align:center;}とすると、テーブルの中のテキストや画像がセンター揃えになるだけで、tableそのものは画面中央に配置されません。
tableはブロック要素だからです。

おおまかに言うと、ブロック要素は「箱」みたいなものです。table、p、div、ulなどです。インライン要素はその「箱」に含まれるもので、テキスト・画像とおぼえておけばよいと思います。

「箱」そのものをセンターに揃えるためには
margin:auto;
を使用します(ただしWinIE5.5以前で適用されないのが難点←ブラウザバグ)。
table {margin:auto;}
を使用しないのなら
<table align="center">
とする方法もあります。
    • good
    • 0

まずはそれぞれの記述次第で対処方法が異なります。



とはいえ、みんな中央寄せされても問題ないのですよね!?
という事で、

table{text-align:center;margin:auto;}

これでまずは良いでしょう。
バグのブラウザもありますが、その動きを逆に利用して・・・。(という事で、本当はこの対処法は正しい方法ではないですが実用的な方法という事で・・・。)

あとは逆に中央寄せされて困った処を、
改めて
.classsample{text-align:left;}とでもすれば・・・。(もちろん当該箇所に class指定などが必要ですが。)


ただ面倒かなぁ~というか問題になりそうなのは、
margin: は継承されませんが、
text-align: は継承されますので、
望まない部分まで中央寄せされたりして、
返って対処が大変だったりして・・・。
という事で、結局元の作り方次第なのでぇ~。

あまり大変な場合、1から作り直してテーブルを排除した方が楽な可能性もあったりして・・・。
    • good
    • 0
この回答へのお礼

みなさん多謝いたします

お礼日時:2005/12/06 00:17

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!