2 つの要素を持つ単純なレイアウトを示す次の jsfiddle を作成しました。
http://jsfiddle.net/64kps/RUjj2
HTML
<div id="hello">hello hello hello hello hello hello hello</div>
<div id="donut">donut</div>
JavaScript
var hello = document.querySelector('#hello');
var donut= document.querySelector('#donut');
var resize = function (event) {
var helloHeight = window.getComputedStyle(hello).height
helloHeight = helloHeight.replace('px', '');
helloHeight = parseFloat(helloHeight);
donut.style.height = (window.innerHeight - helloHeight) + 'px';
};
window.addEventListener('resize', resize, false);
resize();
私の質問
黄色の要素は上部に固定されたままで、コンテンツに応じて必要な高さになります (高さは明示的に指定されていないことに注意してください)。
赤の要素は、ウィンドウを埋めるために利用可能な残りの垂直方向のスペースを取ります。
ウィンドウの幅が変化すると、黄色と赤の両方の要素の高さが変化することに注意してください。
純粋な CSS を使用し、JavaScript を使用する必要なくこれを達成する方法があるかどうか疑問に思っています。
ありがとう