ヘッダー、ボディーおよびフッターを含む列フレックスボックスを実行してから本体内にフレックスボックスの境界を考慮して2つのdivを並べて表示します(つまり、フッタをあふれさせる)。 jsfiddleボディ内にサイドバイサイドdivを持つフレックスフローカラム
<div class='app'>
<div class='header'>
<p><b>header</b>
<br />
<br />(sized to content)</p>
</div>
<div class='body'>
<div class='inner'>
<div class='left'>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
<p>test 1</p>
</div>
<div class='right'>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
<p>test 2</p>
</div>
</div>
</div>
<div class='footer'>
<p><b>footer</b> (fixed height)</p>
</div>
</div>
https://jsfiddle.net/XJ45G19/9e7vjykv/
で
html,
body {
height: 100%;
margin: 0;
}
.app {
display: flex;
flex-flow: column;
height: 100%;
}
.header {
flex: 0 1 auto;
border-style: solid;
border-width: 1px;
border-color: blue;
}
.body {
display: flex;
flex-flow: column;
flex: 1 1 auto;
overflow-y: auto;
border-style: solid;
border-width: 1px;
border-color: red;
}
.footer {
flex: 0 1 40px;
border-style: solid;
border-width: 1px;
border-color: green;
}
.inner {
position: absolute;
}
.left {
float: left;
width: 200px;
height: 100%;
}
.right {
margin-left: 225px;
height: 100%;
}
簡単なテストケース私が間違っているつもりです任意のアイデア?前もって感謝します!
正確な問題はわかりませんが、 '.inner'から' position:absolute'を削除するとどうなりますか? –
arg!ありがとうジョー。私は気が気になりません。その回答を投稿したい場合は、私はそれを受け入れることを嬉しく思うでしょう。あなたの助けをもう一度感謝します。 – shaz
母、問題ありません。 –