プロが教えるわが家の防犯対策術!

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">はあまりよくない使い方と指摘されてしまいます

よろしくお願いします。

A 回答 (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が太字になります。
ここら辺は好みですが…
    • good
    • 2
この回答へのお礼

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

お礼日時:2008/06/25 12:09

おそらく間違えて覚えちゃったんでしょうね・・・


テーブルをかこうdivにtext-align:centerするのはIEのバグを利用した方法
ですので、あっていますが、マージンをオートにするのは「テーブル」に
対してです。

.tableley {
text-align: center;
}
.tableley table{
margin-left: auto;
margin-right: auto;
}
    • good
    • 2
この回答へのお礼

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

お礼日時:2008/06/24 23:15

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