我想用CSS将div垂直居中.我不想要表格或JavaScript,只想要纯CSS.我找到了一些解决方案,但它们都缺少对Internet Explorer 6的支持.

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

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

推荐答案

下面是我所能构建的最好的全能解决方案,用于垂直和水平居中放置固定宽度的flexible height个内容框.它已经在最新版本的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>

View A Working Example With Dynamic Content

我内置了一些动态内容来测试它的灵活性,我很想知道是否有人发现它有任何问题.它应该也适用于居中覆盖——灯箱、弹出窗口等.

Css相关问答推荐

如何让CSS过渡应用时宽度增加,而不是减少?

将照片向下对齐至div并保持响应性

在Powershell中使用正则表达式编辑css文件

单独.css文件中的样式不适用于Angular 元件

防止在添加更多项目时扩展CSS网格行

如何将 div 和 img 包装在 display:flex 容器中

如何解决 Spotify 嵌入代码中的白色背景错误?

同时实现渐变文本和闪光文本效果是否可行?

Tailwind css 和 Next.js 导航组件 z-index 不工作

Icomoon:如何避免重复索引(具有相同内容 ID 的不同图标)?

如何在 CSS 中更改 ::marker SVG colored颜色 ?

如何使用 TailwindCSS 禁用环形阴影?

全部:初始与使用 CSS 重置

如何在 nth-child 中正确传递 CSS 变量?

firefox overflow-y 不能使用嵌套的 flexbox

  • 元素上的子弹来自哪里?
  • 属性nowrap被认为是过时的.建议使用较新的构造.它是什么?

    根据背景 colored颜色 反转 CSS 字体 colored颜色

    在无序列表中的项目之后添加管道分隔符,除非该项目是最后一行

    CSS背景图像不透明度?