• ベストアンサー

CSSでセンタリングしたい

こんにちは 現在デザインをCSSでWebサイトを構築していますが、どうしても分からないことがあります。 今まで、センタリングはcenter要素で行っていましたが、CSSではどのようにして行うのでしょうか。 ソニー : http://www.sony.co.jp/ のようにbody要素全体をセンタリングしたいです。 text-align :center はインライン要素専用ですので、ブロック要素ができるCSSはあるのでしょうか?Webブラウザに依存するJavaScriptなどのスクリプトは使用できません。

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

  • ベストアンサー
  • mat-21
  • ベストアンサー率56% (91/162)
回答No.4

そうですね。皆さんが言われるように、IEのバージョン(古いバージョン)によっては、 margin:0px auto; だけではセンタリングしない事は経験済みです。よって <body> <div style="text-align:center"> <div style="width:600px; margin:0px auto;">内容</div> </div> </body> でいかがですか。

その他の回答 (3)

  • goldfox
  • ベストアンサー率49% (123/249)
回答No.3

> あの大企業のソニーでさえ text-align: center を使用しているのですか > だめですよね? なぜ「だめ」と判断されるのでしょうか。 IEではスタイルシートの反映にバグがあり、ブロック要素のセンタリングで、左右marginでの反映がされないため、text-alignが使われます。 text-alignはスタイルシートプロパティであり、非推奨といわれる「属性」ではないですから、使用になんら問題はありません。 ま、ブロック要素のセンタリングにtext-alignを使いたくないというのであれば、doctype宣言で標準モードを選べば、使わずに済みます。

参考URL:
http://www.tagindex.com/html_tag/page/doctype.html
ytraet
質問者

お礼

ご回答ありがとうございます。 Internet Explorerにはバグがあるんですね。 標準モードにするには HTML 4.01 Strictで切り替えられるようですね。

  • Muller3
  • ベストアンサー率81% (800/979)
回答No.2

sonyサイトのHTMLソースとスタイルシートは見てみましたか? <body> <div class="contents" id="contents"> <div id="wrapper">… スタイルシート #wrapper { width: 760px; text-align: left; margin:20px auto 0 auto; ←この部分がセンタリング指示 } センタリングしたい要素にmargin: 0 auto;を指定します。 bodyにあるtext-align: center; は、IE6のバグによりmargin:0 auto; でのセンタリングができないので、敢えて使われているものです。

回答No.1

例示してあるソニーのサイトが使っているCSSを確認しましたが、 body ブロック内に text-align:center を記載していました。 http://www.sony.co.jp/top/2006/css/index.css CSSのアドレス確認については、例示されたサイトのソースと ここに挙げたアドレスを見比べて探してみてください。 私が今までに見たCSSの例でも、CSSの最初に全体の設定を記述し、 部分的に変えたいところをIDやCLASSで指定するのが メンテナンス時にわかりやすくて良いと思います。

ytraet
質問者

お礼

あの大企業のソニーでさえ text-align: center を使用しているのですか 予想していませんでした。(^_^;) だめですよね?ちゃんとしたCSSで中央配置をご存知でしたら ご回答お願いします。 ありがとうございました。

関連するQ&A

専門家に質問してみよう