ホームページ作成/ボックスや枠線の表示・装飾 (HTML,CSS)

ボックスをウインドウの中央に配置する方法(2ページ目)

1つのボックスをウインドウの中央に表示させる方法をご紹介。左右方向だけでなく上下方向にも中央に寄せて、ウインドウ(表示領域)の中心にボックスを配置させる方法です。スタイルシートで簡単に実現できます。

西村 文宏

執筆者:西村 文宏

ホームページ作成ガイド

ボックスを上下左右の中心に表示するソース

例えば、div要素で作ったボックスを、横幅360ピクセル・高さ210ピクセルの大きさでウインドウの中央(表示領域の中心)に表示させる場合は、以下のようにスタイルシートを記述します。

div {
   position: absolute;
   top:  50%;
   left: 50%;
   width:  360px;        /* 横幅 */
   height: 210px;        /* 高さ */
   margin-left: -180px;  /* マイナス「横幅÷2」 */
   margin-top:  -105px;  /* マイナス「高さ÷2」 */
   overflow: auto;  /* 内容がはみ出る場合の表示方法 */
}

スタイルシートソースの解説

■width: 360px; / height: 210px;

表示サンプル:横幅と高さが指定されただけのボックス

widthプロパティとheightプロパティでサイズを指定しただけだと、ボックスは右図のように表示されます。

横幅と高さが指定したサイズになった上で、左上に寄せて表示されるだけです。

■position: absolute; / top: 50%; / left: 50%;

表示サンプル:上端から50%・左端から50%に配置したボックス

positionプロパティに値「absolute」を指定してボックスを任意の位置に配置できるようにし、 topプロパティとleftプロパティの両方に値「50%」を指定すると、ボックスは右図のように表示されます。

ウインドウ上端からとウインドウ左端から、ウインドウサイズの50%分のスペースだけ移動した位置に表示されます。 (この状態では、まだ中央寄せにはなりません。ウインドウの中心から右下に表示されます。)

■margin-left: -180px; / margin-top: -105px;

表示サンプル:マージンにマイナス値を指定することでセンタリング

ここが今回のスタイルシートソースの要です。左側と上側の余白量を指定する「margin-left」プロパティと「margin-top」プロパティの値に、負の値(マイナス値)を指定します。

具体的には、以下のように指定します。

  • margin-leftプロパティ(左側の余白):
    マイナス「横幅÷2」(=widthプロパティの値の半分をマイナスにした値)
  • margin-topプロパティ(右側の余白):
    マイナス「高さ÷2」(=heightプロパティの値の半分をマイナスにした値)

マージン(外側の余白)にマイナス値を指定すると、その方向(上側マージンなら上方向/左側マージンなら左方向)へ移動させることになります。(右上図参照)

ここでは、横幅が360pxなので、margin-leftプロパティには横幅の半分をマイナスにした「 -180px 」を指定します。 高さは210pxなので、margin-topプロパティには高さの半分をマイナスにした「 -105px 」を指定します。

■overflow: auto;

表示サンプル:はみ出る場合にはスクロールバーを表示

最後に、overflowプロパティに値「auto」を指定することで、 指定したボックスの大きさに収まりきらないほど中身がたくさんある場合には、スクロールバーが表示されるようにしています。
(中身がボックスに収まりきる場合は、スクロールバーはたいてい表示されません。)

※値に「hidden」を指定すると、はみ出る部分は非表示になります。
※この記述自体を省略すると、はみ出る部分はボックスの下端からはみ出して表示されます。(IEの場合はボックスの高さが拡張されます。その場合、ボックスはウインドウの中心より下方にずれているように見えてしまいます。)

サンプルソース

上記のスタイルシートソースには、背景色などの指定はありませんから、そのままではボックスの範囲がよく分かりません。
最後に、サンプルで使った画面イメージのように表示させるスタイルシートソースとHTMLソースをまとめてご紹介いたします。

  • 前のページへ
  • 1
  • 2
  • 3
  • 次のページへ

あわせて読みたい

あなたにオススメ

    表示について

    カテゴリー一覧

    All Aboutサービス・メディア

    All About公式SNS
    日々の生活や仕事を楽しむための情報を毎日お届けします。
    公式SNS一覧
    © All About, Inc. All rights reserved. 掲載の記事・写真・イラストなど、すべてのコンテンツの無断複写・転載・公衆送信等を禁じます