• ベストアンサー

CSSでテーブルを中央にする方法

CSSでテーブルを中央にする方法を教えてください いろいろなサイトで見た通りにしたのですが、どうしてもFirefoxではテーブルが中央によりません。 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> <html lang="ja"> <head> <meta http-equiv="Content-Type" content="text/html; charset=shift_jis"> <meta http-equiv="Content-Style-Type" content="text/css"> <meta name="description" content=""> <meta name="keywords" content=""> <title>テーブル</title> <style type="text/css"> <!-- .tableley { margin-left: auto; margin-right: auto; text-align: center; } //--> </style> </head> <body> <div class="tableley"> <table cellpadding="0" cellspacing="0" summary="テスト" border="1"> <caption style="font-weight: bolder;">てすと</caption> <tbody> <tr> <td>てすと1</td> <td>てすと2</td> <td>てすと3</td> <td>てすと4</td> </tr> <tr> <td>てすと5</td> </tr> </tbody> </table> </div> </body> </html> 何が悪いのでしょうか? <div align="center">にするしか方法がないのでしょうか? 文法検証すると<div align="center">はあまりよくない使い方と指摘されてしまいます よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • log1
  • ベストアンサー率75% (3/4)
回答No.2

<style type="text/css"> <!-- .tableley { text-align: center; } .tableley table{ margin-left: auto; margin-right: auto; } .tableley caption{ margin-left: auto; margin-right: auto; } //--> と記述すれば、table、captionともにセンタリングされます。 余談ですが、 .tableley caption{ margin-left: auto; margin-right: auto; font-weight: bold; } と記述すれば、 <caption>てすと</caption> と「style="font-weight: bolder;"」を消してもcaptionが太字になります。 ここら辺は好みですが…

tekito-MAX
質問者

お礼

回答ありがとうございました。 log1さんのご指導で綺麗にできました。

その他の回答 (1)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.1

おそらく間違えて覚えちゃったんでしょうね・・・ テーブルをかこうdivにtext-align:centerするのはIEのバグを利用した方法 ですので、あっていますが、マージンをオートにするのは「テーブル」に 対してです。 .tableley { text-align: center; } .tableley table{ margin-left: auto; margin-right: auto; }

tekito-MAX
質問者

お礼

回答ありがとうございました。 なんとなく上手くは行ったのですが、今度は指示どうりにやると <caption style="font-weight: bolder;">てすと</caption> この部分が微妙に真中ではなくなってしまうんですよね table部分は真中なんでが・・ IEの場合は正常に表示されています

関連するQ&A