我可以使用CSS在视口中垂直居中固定高度的DIV吗?

Rob*_*sto 6 html css

我们有一个登录页面,旨在将200px高的DIV垂直居中在页面中间.也就是说,无论浏览器窗口的大小如何,它都会创建一个200像素的蓝色条带左边缘到右边缘(其中包含表单元素),理想情况下应该在视口中保持垂直居中.

这必须是CSS解决方案.

那么让我们说这里是一些示例标记:

<body>
    <div id="mainDiv">
       <div id="centerDiv" style="height:200px;background-color:blue;color:white">
           Center this baby vertically in the #mainDiv, please!
        </div>
    </div>
</body>
Run Code Online (Sandbox Code Playgroud)

假设我的CSS指示#mainDiv被拉伸以覆盖视口顶部和底部,这很容易做到.是否有CSS规则,我可以应用于任何元素或可靠和跨浏览器(包括IE6)垂直居中的页面#centerDiv?在完美的世界中,我们应该能够说出来

#centerDiv {
  margin: auto 0;
}
Run Code Online (Sandbox Code Playgroud)

即使在一个好的世界中,我们也应该能够用一些风格解决这个问题.但是要引用Ving Rhames的"低俗小说"中的人物,我们相当不错.

我查看了相关问题中提供的解决方案并搜索了网络.我找不到真正有效的100%.也许这是无法解决的,但我想我会在这里集体绞尽脑汁,看看能不能幸运.提前致谢.

Tom*_*Tom 12

如果你有一个固定的高度,你可以做到.给孩子div一个50%的顶部和-100px的margin-top(反之亦然)你应该设置.