これは、私がフレックスボックスを使用して達成できない非常に単純な構造です。ファンキーなフレックスボックスの高さ
私は身体の中にヘッダーとボディエレメントを持っています。私は長い(高さの)エレメントを持っています。その後、私はボディー内に小さなフッターを持っています。コンテンツをスクロール可能にし、フッターを常に表示したい。
私はflexboxを使用するためにすべてを設定しました。私はflex-direction: column
を使って垂直方向の位置決めを行いました。flex: 1
は未定義の高さの要素で残りのスペースを占有します。
奇妙なことに、高さ50ピクセルの私のヘッダーは高さ20ピクセルで、コンテンツはまったくスクロールできません。または、それは私の望んでいない小さなフッタ(緑色)です。それは問題のクロスブラウザを作成するようパーセントと高さを使用して、内部要素とフレキシボックスを組み合わせる。..
.flex { display: flex; }
.flex1 { flex: 1; }
.col { flex-direction: column; }
.red { background-color: red; }
.blue { background-color: blue; }
.green { background-color: green; }
.yellow { background-color: yellow; }
.pad { padding: 10px 15px; }
.h50 { height: 50px; }
<div class="flex col" style="height: 100vh;">
<div class="red h50">
Wtf?
</div>
<div class="blue flex1 pad">
<div class="flex col" style="height: 100%">
<div class="yellow flex1" style="overflow: auto;">
<div style="height: 1500px">
Long content here
</div>
</div>
<div class="green h50">
</div>
</div>
</div>
</div>
スニペット、すべてがヘッダーとフッターが静的である必要があり、スクロール可能であり、唯一の黄色の面積は上記のスニペットでスクロール –
@php_nub_qqする必要がありますビューポート内の黄色のスクロール(Chromeを使用しています)はどのように同じですか? – LGSon
ああ、それはブラウザの問題です、私はfirefoxを使用しています...しかし、クロムでも、動作していない同じです.. jesus –