
お世話になっております。
・本文・テーブルは中央揃え
・テーブルの内容は左揃え
というものをCSSで作りたいのですが、
どのようにしたらいいのでしょうか。
現在のページの一部は
<div id="main">
<h1>タイトル</h1>
<table border="1">
<p>
本文
</p>
<tr>
<td colspan="2"><h2 align="center">○○○</h2></td>
</tr>
<tr>
<td>内容</td>
<td>内容</td>
</tr>
~行が続きますが省略~
</table>
</div>
のようになっています。
ちなみに cssのmainは「text-align:center;」を指定しておりますが、
IE8にしたところテーブルが左寄せになってしまいました。
なるべく多くのブラウザで同じような配置になるようにしたいのですが
どうしたらよいでしょうか。よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
No.1さんの方法では、table内部のテキストが中央ぞろえになってしまい、
「テーブルの内容は左揃え」
という質問者さんのご要望を満たすことができません。
以下でどうぞ。
(1)
div#main{
text-align:center;
}
(2)
div#main table{
margin-left:auto;
margin-right:auto;
text-align:left;
}
<解説>
div、table、pなどブロック要素をセンタリングするには、左右のmargin(外余白)をautoにすることで、左右均等に外余白が設定され、ブロックがセンタリングされます(2)。
しかし、8より前のIEではmarginのautoを正しく解釈してくれません。
text-align:centerでブロック要素がセンタリングされない(これでセンタリングされるのはテキストや画像などのインライン要素のみ)のは正しい動作なのですが、8より前のIEではなぜかtext-align:centerでブロック要素がセンタリングされてしまうので、このバグを利用して、div#mainにtext-align:centerを設定して8より前のIEでセンタリングされるようにします(1)。
しかしこれでは、tableの中のテキストまでセンタリングされてしまいますので、div#main配下のtableにtext-align:leftを指定します(2)。
回答ありがとうございます。
No1さんのソースを見て、ぱっと直感で編集したら
思い通りになったのですが、半分しか理解していなかったため
解説がとても役立ちました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- JavaScript EasyUIのSubGrid(jquery)におけるObjectに入れた連想配列について 1 2022/05/02 11:21
- Visual Basic(VBA) Selenium.ChromeDriverの使い方について 7 2022/09/22 06:43
- HTML・CSS 【CSS】:hasで可能? imgを含むtr要素を選択したい 1 2022/11/17 14:36
- PHP htmlで複数の個数入力欄を表示させるには 1 2022/09/20 03:11
- JavaScript jQueryで同じクラス名のものを別物として扱いたい 1 2022/06/17 14:14
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS 自身のHPにYouTube動画を貼り付けるのが出来なくなり困ってます 1 2022/11/11 10:44
- HTML・CSS テキストを画面の真ん中に配置したいです。 2 2022/11/25 16:11
- MySQL SQL任意に並び替えをしたい 2 2023/08/28 10:47
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
テーブルタグについて
-
プロのWEB系のコーダーは左揃え...
-
<tr>タグ、<td>タグ
-
tableの位置の設定&既定文字を...
-
テーブルの囲い線
-
HTMLメルマガ作成 罫線の...
-
テーブルがうまくいきません。
-
スタイルシートについて
-
width="100%" で指定した場合の...
-
スタイルの無効化
-
cssでテーブルを中央配置にする...
-
CSSで特定のテーブルだけに...
-
FireFox2.0でCSSを使ってテーブ...
-
素朴なcaptionについて質問させ...
-
htmlでテキストを画面の中央に...
-
【CSS】表に線を入れる
-
リスト項目の要素
-
中のテーブルにまで及ばせない...
-
HTMLのレイアウト
-
スタイルシートで左側だけ色を...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSで特定のテーブルだけに...
-
テーブルとテーブルの間隔について
-
テーブル内のセル間にスペース...
-
<th>タグを使っても太字にしな...
-
TABLEのセルの中の文字を行単位...
-
table表を横に並べる際の間隔指定
-
HTML tableのセルにtextareaを...
-
スタイルシートで左側だけ色を...
-
同じ幅指定のつもりなのに、ブ...
-
ホームページのテキストを折り...
-
<fieldset>タグについて
-
HTML5で、テーブル内tdタグの高...
-
テーブルデータを折り返して表...
-
画面幅に合わせてテーブルのカ...
-
tableを縦に続けるとtable間の...
-
html5のテーブル内でdivのタブ...
-
HTMLのテーブルをExcelにCopy&P...
-
textareaの外側の文字が下付き...
-
<li>と<table>タグについて
-
(HTML)Tableを任意の位置に置...
おすすめ情報