在我正在制作的页面中,有许多嵌套在一起的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),采用固定定位,如下所示:
#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都有height: 100%,如预期一样,它们延伸到#overlay底部。现在看看#main_content:
#main_content {
position: relative;
height: 100%;
width: 70%;
overflow-y: auto;
text-align: right;
}
这个不像我想要的那样工作,因为由于图像大小,这个东西延伸到页面的底部,而不是底部 #overlay。我尝试了 overflow-y: scroll 和 height: inherit,我尝试了 max-height: 100%,现在我快抓狂了。在我得心脏病之前,Stackoverflow 是我的最后希望!