CSS の高さの解決策を探している他の多くの人と同じように、私はこの問題を何年にもわたって繰り返してきました。シンプルな jsfiddle は千の言葉に値します:
html と body で height: 100% を使用して、やりたいことを部分的に達成する方法を理解しています。また、CSS3 の box-sizing プロパティについても知りました。これにより、いくつかの問題が修正されます。
ただし、高さ 50 ピクセルの上部ヘッダー div1 があり、その下に高さ 100% の div2 がある場合、ブラウザーは div2 をビューポートの高さの 100% にし、もちろん div2 を実行させるという問題がまだあります。体の外。上記の jsfiddle または以下のコードを参照してください。
<div id="MainBody">
<div id="TopHeader">My Top Header</div>
<div id="ContentWrapper">
How does one get this blue box to extend only to the bottom of the viewport/browser window? In other words, the blue border needs to extend right up to the green box.
</div>
</div>
html, body {margin: 0; padding: 0; border: 2px solid #00CC00;}
html, body, #MainBody, #ContentWrapper {height: 100%; min-height: 100%; box-sizing:border-box; -moz-box-sizing:border-box;}
#MainBody {margin: 0; padding: 0; border: 2px solid #CC0000;}
#TopHeader {height: 50px; background-color: #303030; padding: 10px; color: #FFFFFF;}
#ContentWrapper {margin: 0; padding: 20px 20px 0 20px; margin: 10px 10px 0 10px; border: 2px solid #0000CC;}
助言がありますか?ありがとう!