我知道这看起来像是一个已经被问过很多次的问题,但我就是找不到针对这种非常具体情况的解决方案。
这是我的布局的基本线框:
基本上,我有几个具有不同背景的 div,它们占据了浏览器窗口的 100% 宽度和 100% 高度。在它们中的每一个中都有另一个 div,它占用其父级的 50% 宽度,但具有可变高度,具体取决于其内容。
我希望所有这些 divs-within-a-div 都垂直对齐。现在,我已经读到在父级上放置一个 display:table-cell 和一个 vertical-align:middle 应该可以工作,但在这种情况下,它似乎只是把事情搞砸了。:-/
我的代码:
<head>
<style>
html, body {
height: 100%;
}
body > div {
width: 100%;
height: 100%;
background-size: cover;
}
.centered {
width: 50%;
margin: 0 auto;
background: rgba(0,0,0,0.4);
padding: 50px 0 30px 0;
}
</style>
</head>
<body>
<div id="pic_1">
<div class="centered">content</div>
</div>
<div id="pic_2">
<div class="centered">content</div>
</div>
<div id="pic_3">
<div class="centered">content</div>
</div>
</body>
谢谢你的帮助!