この例では、ブラウザのウィンドウの高さが400ピクセル以下になると、イメージはスクロール可能領域の中央に表示されなくなります。ネストされたフレックスボックスの場合、センタリングが失敗する
html {
height: 100%;
}
body {
height: 100%;
display: flex;
align-items: center;
margin: 0;
padding: 0;
}
#content {
height: 400px;
display: flex;
align-items: center;
}
<div id="content">
<img src="http://placehold.it/300x300">
</div>
それはすぐに、私は、HTMLのか、体の一方または両方のheightプロパティの設定を解除として働きます。
この特定の例でセンタリングが失敗する理由を理解したいと思います。入れ子にされたフレックスボックスとは何か関係がありますか?あるいは、htmlとbodyの両方の高さを100%に設定するのに問題がありますか?それはバグか何かブラウザ関連ですか?
体の高さが400pxのコンテナがあることがわかっているので、身体は400pxより短くできません.html bodyに400pxの高さを追加してください。興味深いことに、あなたがディスプレイを取るとき:身体をフレキシブルにして400pxよりも短いボディを持っていれば、それは#containerがそれよりも短いコンテナのフレックスチャイルドであることと関係があります。 – Adam
ここにあります何か冷たい - '身長':100%を '身長 'の' min-height:100% 'で置き換え、それはすべての高さで動作します! – Adam