これは、C-Linkの回答のレガシーバージョンのようなものです。
これには、1 ページ全体を下回るコンテンツがコンテナの外に出てしまうという制限があります (フィドルで下にスクロールするとわかりますが、フルスクリーンではわかりません)。
ページが最大の高さまで伸びていることを確認してください。
body, html { height: 100%; width: 100%; margin: 0; padding: 0;}
静的な高さのヘッダーを設定します。
header {
height: 101px;
background: red;
}
ヘッダーの下にすべてのボックスを作成します。あなたはボックスのサイジングで正しい軌道に乗っていました。ヘッダーと同じ量でパディングを追加できます。次に、その中のパーセンテージがうまく機能します。
.content {
position: absolute;
box-sizing: border-box;
padding-top: 111px;
padding-bottom: 10px;
top: 0; left: 0;
height: 100%; width: 100%;
}
脇に置いて (コンテンツによっては正しい要素である場合とそうでない場合があります)、いくつかのスタイルを設定します。
aside {
float: right;
width: 20%;
height: 100%;
padding-bottom: 111px;
box-sizing: border-box;
}
.top {
height: 100px;
background: blue;
}
.bottom {
margin-top: 10px;
height: 100%;
background: skyblue;
}
これはメインの大きなコンテンツ エリアで、左にフロートします。追加の HTML を犠牲にして正確なパディングが必要な場合は、幅を正確に指定できます。
[role="main"] {
width: 78%;
background: limegreen;
height: 100%;
float: left;
box-sizing: border-box;
}
メイン要素またはサイド要素を設定overflow-y: auto
して、スペースがなくなったときにスクロールさせることもできます。このページには、フローティング、絶対配置、絶対スタイルを削除するモバイル スタイルも必要であり、幅はほぼ 100% である必要があります。