这是我的情况:我正在尝试用两个 DIV 填充整个页面(高度 100%,宽度 50%)。此外,DIV 中的内容要垂直居中对齐。
有没有一种简单的方法可以在没有黑客或 JavaScript 的情况下实现这一目标?
我试过了body,html{height:100%;} .mydiv {display:table-cell;height:100%;vertical-align-middle}
但这不起作用......并且使用该代码,我必须以像素而不是百分比指定宽度
我刚刚做了一个 jsFiddle 来展示我对解决方案的建议。在这里,我考虑到您希望两个<div>
s 分别填充 50% 的宽度和 100% 的高度,并且您希望内容在中间垂直对齐。这是带有源代码的简化工作解决方案。
<div id="outer">
<div id="table-container">
<div id="table-cell">
This content is vertically centered.
</div>
</div>
</div>
#outer {
position:absolute;
top:0;
left:0;
width:50%;
height:100%;
}
#table-container {
height:100%;
width:100%;
display:table;
}
#table-cell {
vertical-align:middle;
height:100%;
display:table-cell;
border:1px solid #000;
}
作为参考,我使用了本教程。
position: absolute;
top: 0;
bottom: 0;
会给你一个填充到 100% 高度的盒子。确保您的 HTML 和 BODY 标签足够大:
html, body {
height: 100%;
}
你想要这种设计吗?=>示例小提琴