重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

ブロック要素をCSSで縦横共にセンタリングしたいです。
横方向のセンタリングはできたのですが、縦方向のやり方がわかりません。
縦方向をセンタリングするにはどのような記述をすれば良いのでしょうか?
アドバイスお願いいたします。

A 回答 (4件)

一応、以下のように。



#outerBox {
width:幅;height:高さ;
display:table-cell;/* ※1 */
vertical-align:middle;
}
#innerBox{
width:幅;height:高さ;
margin-left:auto;
margin-right:auto;
}

<div id="outerBox">
<div id="innerBox">
</div>
</div>

※1 display:table-cell はIEが対応していないので、一般的には実際にテーブルにするしかないのが現状です。

参考URL:http://oshiete1.goo.ne.jp/kotaeru.php3?q=1754808
    • good
    • 0
この回答へのお礼

ありがとうございます。
ブラウザによって対応してたりしてなかったりと結構厄介ですね…
今回はテーブルを使用する事にしました。

お礼日時:2005/11/11 14:30

#1の方の書かれているように、縦のセンタリングはvertical-alignを使いますが、これを適用できるのはテーブルのセル要素か、インライン要素に限られます。

従って、ブロック要素をセンタリングしたい場合には、外をテーブルで囲み、該当するブロック要素の外のtdにvertical-align: middle;を設定するしかありません。
もっともその外枠自体の縦を画面一杯にするのがブラウザによっては難しいので、適用できるシーンは限られますね。それにデザインのためにテーブルを使うことになり、CSSの使い方としては邪道かも知れません。
    • good
    • 0
この回答へのお礼

ありがとうございます。
テーブルを使用しないと無理なのですね…
今回は諦めてテーブルを使用しました。

お礼日時:2005/11/11 14:28

line-heightをheightに合わせるではダメですか?


それともブロック要素をブロック要素の中でセンタリングなら親ブロック要素のheightをautoにして単純にmarginでできるとおもいますが・・・

参考URL:http://www3.tokai.or.jp/janboon/csstest.htm
    • good
    • 0
この回答へのお礼

ありがとうございます。
line-heightをheightに合わせるというのは試してませんでした。
やってみます。

お礼日時:2005/11/11 14:26

{ vertical-align: middle }


ではダメでしょうか?
参考にならなかったらスミマセン。
    • good
    • 0
この回答へのお礼

ありがとうございます。
vertical-align: middleは最初に試したのですが、
残念ながらうまくいきませんでした…

お礼日時:2005/11/11 14:23

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