6
フレックスボックスアイテムが列モードで折り返されると、コンテナの幅が拡大しません
私は次のように機能するはずのネストされたフレックスボックスレイアウトに取り組んでいます。 最も外側のレベル(ul#main)は水平方向のリストであり、さらに項目が追加されると、右側に展開する必要があります。大きくなりすぎる場合は、水平スクロールバーが必要です。 #main { display: flex; flex-direction: row; flex-wrap: nowrap; overflow-x: auto; /* ...and more... */ } このリストの各項目(ul#main > li)には、ヘッダー(ul#main > li > h2)と内部リスト(ul#main > li > ul.tasks)があります。この内部リストは垂直であり、必要に応じて列に折り返す必要があります。より多くの列に折り返す場合、より多くのアイテムのためのスペースを作るために、その幅を増やす必要があります。この幅の増加は、外側のリストの包含アイテムにも適用されます。 .tasks { flex-direction: column; flex-wrap: wrap; /* ...and more... */ } 私の問題は、ウィンドウの高さが小さくなりすぎても、内部リストが折り返されないことです。私はすべてのflexプロパティを何度も改ざんし、CSS-Tricksのガイドラインに細心の注意を払って試みましたが、うまくいきませんでした。 このJSFiddleは、これまでのところを示しています。 期待される結果 (私が欲しいもの): 実際の結果 (私が得るもの): 古い結果 (2015年に取得したもの): 更新 いくつかの調査の後、これはより大きな問題のように見え始めています。主要なブラウザはすべて同じように動作し、フレックスボックスのデザインがネストされていることとは関係ありません。さらにシンプルなフレックスボックスの列レイアウトでは、アイテムが折り返されるときにリストの幅を増やすことを拒否します。 この他のJSFiddleは問題を明確に示しています。Chrome、Firefox、IE11の現在のバージョンでは、すべてのアイテムが正しく折り返されます。rowモードではリストの高さは増加しますが、モードでは幅は増加しませんcolumn。また、columnモードの高さを変更しても、要素の即時のリフローはまったくありませんが、rowモードにはあります。 …