私がレイアウトしているページには、たくさんの 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 の下部ではなく、ページの下部まで拡張されるため、これは私が望むようには機能しません。overflow-y: scroll と height: inherit を試しました。max-height: 100% を試しました。Stackoverflow は、心臓発作を起こす前の最後の希望です!