画面の長さを埋めようとしていますが、高さ 100% のコンテンツ領域がヘッダーを無視するため、領域が長くなりすぎます。他の SO ソリューションは完全には機能しません。
コンテンツの増加に合わせて調整できるようにする必要があり (#mainView ではなくページのスクロール バーを使用)、ページを埋めるのに十分なコンテンツがない場合は、#mainView が画面を埋める必要があります (スクロールなし)。
CSS:
html, body { height: 100%; margin: 0px; }
#container{margin:20px;height:100%}
#header { height: 80px; background: pink; }
#mainView { height: 100%; background: red; box-sizing: border-box; border:solid 4px pink;border-top:none; }
HTML:
<div id="container">
<div id="header">
--Header
</div>
<div id="mainView">
--Main
</div>
</div>