私が収集できた限り、IE10/IE11を使用している場合は、標準化されたフレックス条件を使用できるはずです。
コンテナーdivと2つの子divがあります。
2つの子divは400px以下なので、justify-content: space-between
のための十分なスペースが常に必要です。
最初の子を一番上にし、2番目の子を一番下にします。
これはChromeおよびFirefoxで機能しますが、IEでは機能しません。理由はわかりません。
コメントやフィードバックは大歓迎です。
<div style="display: flex; flex-direction: column; justify-content: space-between; min-height: 400px; background-color: lightyellow;">
<div style="background-color: red;">
<h2>Title (variable height)</h2>
<p>Summary (variable height)</p>
</div>
<div style="background-color: orange;">
<img src="http://avatarbox.net/avatars/img32/tv_test_card_avatar_picture_61484.jpg" />
</div>
</div>
IE 10および11には、適切なレンダリングに関するいくつかの問題がありますflexbox。
ここに1つあります:フレックスコンテナーは、これらのブラウザーのmin-height
プロパティを考慮しません。
簡単な解決策は、フレックスコンテナーもフレックスアイテムにすることです。
これをコードに追加するだけです(他の変更は必要ありません)。
body {
display: flex;
flex-direction: column;
}
このバグ によると、フレックスボックスでmin-heightを使用すると、IE11はアイテムを正しくレンダリングしません。
Edgeで問題は解決したようですが、IE10-11は動作しません。
これはIE10/11のバグです。この情報は https://github.com/philipwalton/flexbugs#flexbug- にあります。
IE10/11でこのバグを修正するには、それ自体がフレックスコンテナーであるフレックスコンテナーの周りにラッパー要素を追加します。この例では、bodyタグに表示フレックスを追加できます。そして、コンテナのdivに幅100%のスタイルを追加します