ハマっている「お菓子」を教えて!

こんにちは

現在デザインをCSSでWebサイトを構築していますが、どうしても分からないことがあります。

今まで、センタリングはcenter要素で行っていましたが、CSSではどのようにして行うのでしょうか。

ソニー : http://www.sony.co.jp/ のようにbody要素全体をセンタリングしたいです。

text-align :center はインライン要素専用ですので、ブロック要素ができるCSSはあるのでしょうか?Webブラウザに依存するJavaScriptなどのスクリプトは使用できません。

A 回答 (4件)

そうですね。

皆さんが言われるように、IEのバージョン(古いバージョン)によっては、
margin:0px auto;
だけではセンタリングしない事は経験済みです。よって

<body>
<div style="text-align:center">
<div style="width:600px; margin:0px auto;">内容</div>
</div>
</body>

でいかがですか。
    • good
    • 0

> あの大企業のソニーでさえ text-align: center を使用しているのですか


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

参考URL:http://www.tagindex.com/html_tag/page/doctype.html
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

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

お礼日時:2007/11/25 18:38

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;
でのセンタリングができないので、敢えて使われているものです。
    • good
    • 0

例示してあるソニーのサイトが使っているCSSを確認しましたが、


body ブロック内に text-align:center を記載していました。
http://www.sony.co.jp/top/2006/css/index.css

CSSのアドレス確認については、例示されたサイトのソースと
ここに挙げたアドレスを見比べて探してみてください。

私が今までに見たCSSの例でも、CSSの最初に全体の設定を記述し、
部分的に変えたいところをIDやCLASSで指定するのが
メンテナンス時にわかりやすくて良いと思います。
    • good
    • 0
この回答へのお礼

あの大企業のソニーでさえ text-align: center を使用しているのですか

予想していませんでした。(^_^;)
だめですよね?ちゃんとしたCSSで中央配置をご存知でしたら
ご回答お願いします。

ありがとうございました。

お礼日時:2007/11/25 17:52

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


おすすめ情報