![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?5a7ff87)
先日からいろいろとここで教えていただいてますが、また壁にぶつかってしまいました。とりあえず下記のソースを見てください。
<html>
<head>
<title>タイトル</title>
<style type="text/css">
<!--
body{margin-top:0; margin-bottom:0;}
.tt1{background-color:#ccffcc; line-height:150%; vertical-align:top;}
-->
</style>
</head>
<body>
<table align="center" width="600" height="100%" border="0" cellspacing="0" cellpadding="30">
<tr><td class="tt1">
本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります本文が入ります。
</td></tr>
</table>
</body>
</html>
(宣言とmetaは省略)
これで画面を縦に3分割したレイアウトで真ん中の色のついたエリアに文字や写真を入れていくフォーマットになります。しかしW3Cによる定義では厳密にはtableの「align」と「height」は非推奨になっているようなのです。そこで、cssで指定しようと思うのですが、tableを左右方向で常にセンターに配置するのと、真ん中の色の部分を画面下にぴったりくっつけるのがどうやってもできません。
どなかかヒントでも結構なのでいただけませんでしょうか・・・
No.1ベストアンサー
- 回答日時:
こういう単純なレイアウトなら、CSSですべきですよ。
複雑なレイアウトで、どうしてもCSSではやりにくいって時はtable要素も使っても仕方ないかな、とは思いますけど。
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Style-Type" content="text/css">
<title></title>
<style type="text/css">
<!--
body {
margin: 0px;
paddig: 0px;
}
#container {
width: 600px;
height: 100%;
margin-top: 0px;
margin-bottom: 0px;
margin-left: auto;
margin-right: auto;
text-align: center;
padding: 30px;
background-color: #ccffcc;
line-height: 150%;
vertical-align: top;
}
-->
</style>
</head>
<body>
<div id="container">ほげほげほげほげほげほげほげほげほげほげほげほげほげほげ。</div>
</body>
</html>
text-align: center;は本来不要ですが、古いバージョンのIEのバグ配慮。
及びDOCTYPE宣言で必ず標準準拠モードにしないと、IE6ではバグの為、本来margin-left: auto; margin-right:auto;でセンタリングされるべきなのが、センタリングされませんので。
検証してないけどこれでうまくいく・・と思います。
早速ありがとうございます。先日もDOCTYPE宣言の件で教えていただいた方ですよね。
左右のマージンを:auto;にするというのはいろんな解説サイトを読みましたが書いてませんでしたので、教えていただいて非常にありがたいです。
ただ、書いていただいたソースを丸ごとコピーして検証してみたのですが(WinXP:IE6・Firefox2.0)、標準準拠モード(URLつき)では左右のセンターになりますが、下にくっつきません。また後方互換モードでは下にはくっつきますがセンターにならず左に寄ってしまいます。
両方を実現するのは無理なんでしょうか???
No.3
- 回答日時:
> しかし標準準拠モードだとIE5とか古いブラウザで正しく表示されるのでしょうか。
特にMacの人とか。この程度のレイアウトであれば、Valid CSS で想定される全てのWWWブラウザに対するクロスブラウザは実現可能です。
より厳密な指定に対してクロスブラウザを実現したいのであれば製作者に相当の知識がないと難しいかもしれません。
製作段階で不具合に繋がる指定を施す可能性があります。
すいません、Valid CSS という言葉も始めて知ったのですが、「正しい」とか「正確な」CSSという解釈でいいのでしょうか。
ということは、真っ当な間違いのないCSSを書けば古いブラウザやMacの人でも問題ないということですね。
下記で教えていただいたソースでアップしてみて、知人に環境の違いで表示がどうなるか確認してみます。
No.2
- 回答日時:
下記プロパティを付け加えましょう。
> 標準準拠モード(URLつき)では左右のセンターになりますが、下にくっつきません。
html,body{height:100%;}
> また後方互換モードでは下にはくっつきますがセンターにならず左に寄ってしまいます。
body{text-align:center;}
#containerの中身を左寄せにしたいなら
#containerのtext-align: center;をleftに。
できました!!
html,body{height:100%;}なんてまったく思いつきもしませんでした。
ありがとうございました!
しかし標準準拠モードだとIE5とか古いブラウザで正しく表示されるのでしょうか。特にMacの人とか。
知り合いの中には案外古い環境の人も多いですから、できれば新旧のブラウザでも確実に崩れずに見れるのが望ましいのですが、そこまで多くを望むのは無茶でしょうか・・・
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- HTML・CSS ヘッダーの画像にメインエリアがかぶってしまいます 1 2022/11/28 14:06
- HTML・CSS 書籍を見つつサイト造りの練習をしているのですが、見た目が一致しません 2 2022/11/28 15:00
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/30 09:10
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- HTML・CSS テーブルタグのセルの幅の一部だけを指定 1 2023/03/12 12:02
- AJAX JavascriptからPHPへのAjax通信でnullが返ってくる 3 2022/08/03 22:00
- HTML・CSS CSSがなぜかfont-sizeだけ効かない...記述がまちがっているんでしょうか 5 2022/04/09 17:52
- HTML・CSS img と p を縦中央に配置したいのですがうまくいきません。 2 2023/01/12 14:38
- HTML・CSS <!DOCTYPE html> <html> <head> <meta charset="utf-8 2 2023/01/05 01:04
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
テキストボックスの様に文字の...
-
aタグに直接style=""で:hoverを...
-
インラインフレームの表示位置...
-
フッターだけが真ん中に行って...
-
<legend>で表示されるタイトル...
-
テキストボックスの文字を右揃...
-
なぜ左に寄っているの?
-
ピクセル表示をパーセント表示...
-
chromeだけbody直下に空白が開く
-
付属画像の緑の背景の文字(お...
-
「全体のレイアウト:中央揃え...
-
インラインフレームのボーダー...
-
formタグ下にできる隙間を埋めたい
-
IEでDIV要素のセンタリング...
-
IBMのホームページビルダー10で
-
<h1>タグの後の行間を詰めたい。
-
Formタグのブロックの高さについて
-
文字を左上に配置したい。
-
HTMLフォームのSELECTの幅を一...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
CSSのtransform: translate(-50...
-
aタグに直接style=""で:hoverを...
-
<h1>タグの後の行間を詰めたい。
-
HTMLフォームのSELECTの幅を一...
-
インラインフレームの表示位置...
-
INPUT TEXT内の文字位置を指定...
-
コードを書いて下さい( ; ; )...
-
text-alignの解除の方法
-
FireFoxで見るとブラウザの幅に...
-
なぜ左に寄っているの?
-
端から端まで横線を引きたい
-
ホームページビルダー 空白の...
-
アップロードするサーバーによ...
-
CSSでh1とその下の文字との行間...
-
Formタグのブロックの高さについて
-
CSSの設定
-
<legend>で表示されるタイトル...
-
ie8とCSSとマウスオーバーで何...
-
chromeだけbody直下に空白が開く
-
macとwindowsのレイアウト崩れ...
おすすめ情報