在我正在布局的页面上,有一堆 div 相互塞入。HTML 代码如下所示:
<div id="overlay">
<div id="main_section">
<div class="left">yadda yadda left sidebar</div>
<div class="middle">
<div id="header">yadda yadda header</div>
<div id="main_content"><img class="resize content" src="static/some_image.jpg" /></div>
</div>
<div class="right">yadda yadda right sidebar</div>
<div class="clear"></div>
</div>
</div>
主容器是覆盖层,它使用固定位置,如下所示:
#overlay {
position: fixed;
width: 100%; height: 90%;
top: 0px; left: 0px;
background-color: rgba(255,255,255,0.5);
}
(我将具有不同不透明度级别的多个背景分层,这就是为什么有 main_section、overlay 等)
现在,所有的孩子都使用相对定位,效果相当好。问题出现在#main_content 中。#main_section 和 .middle 都具有高度:100%,并且正如预期的那样,它们一直下降到 #overlay 的底部。现在,这是#main_content:
#main_content {
position: relative;
height: 100%;
width: 70%;
overflow-y: auto;
text-align: right;
}
这不像我想要的那样工作,因为由于图像大小,这个东西一直延伸到页面的底部而不是#overlay的底部。我试过溢出-y:滚动和高度:继承,我试过最大高度:100%,我把头发扯掉了。Stackoverflow 是我心脏病发作前的最后希望!