毎日Learning

学んだことを共有します

divタグで囲ったブロック要素を縦横中央に表示するcssの書き方

横方向で中央に表示するのは結構やるけど、縦も中央に表示するのは今までやったことなかったが、ちょーど質問を受けて調べたので、メモっとく。

<html>
<head>
  <style>
  #container {
    position: relative;
    height: 100%;
    width: 100%;
  }
  #contents {
    position: absolute;
    top: 50%;
    width: 100%;
  }
  #hoge {
    width: 500px;
    margin: auto;
  }
  </style>
</head>
<body>
  <div id="container">
    <div id="contents">
      <div id="hoge">
        hoge
      </div>
    </div>
  </div>
</body>
</html>

これでど真ん中に表示される。

#hogeのwidth:500pxは状況に合わせて変えるとか、レスポンシブデザインにするなら、ある長さより小さい場合はとかって可変になるようにする必要がある。

とりあえず、適当に500pxに指定してるだけ。

※ただしIEは除く…。IEなんてIEなんて…。がー!