Warm tip: This article is reproduced from serverfault.com, please click

其他-如何使用CSS在所有浏览器中垂直居中放置一个“ div”元素?

(其他 - How to vertically center a "div" element for all browsers using CSS?)

发布于 2008-12-28 12:57:16

我想将divCSS垂直居中放置。我不需要表或JavaScript,而只需要纯CSS。我找到了一些解决方案,但是所有这些解决方案都缺少Internet Explorer 6支持。

<body>
    <div>Div to be aligned vertically</div>
</body>

如何div在所有主要浏览器(包括Internet Explorer 6)中垂直居中

Questioner
Burak Erdem
Viewed
11
329 2018-11-17 01:06:52

下面是我可以构建的最佳全能解决方案,以将固定宽度,高度灵活的内容框垂直和水平居中它已经过测试,可用于Firefox,Opera,Chrome和Safari的最新版本。

.outer {
  display: table;
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
}

.middle {
  display: table-cell;
  vertical-align: middle;
}

.inner {
  margin-left: auto;
  margin-right: auto;
  width: 400px;
  /*whatever width you want*/
}
<div class="outer">
  <div class="middle">
    <div class="inner">
      <h1>The Content</h1>
      <p>Once upon a midnight dreary...</p>
    </div>
  </div>
</div>

查看带有动态内容的工作示例

我构建了一些动态内容来测试灵活性,并且很想知道是否有人看到它的任何问题。它也应适用于居中的叠加层-灯箱,弹出式窗口等。