我正在尝试为自己的一家电子商务商店创建大型菜单。为此,我使用的是弹性框布局。
在大型菜单中,有一些子类别需要按列显示。
因此我可以在父类别flex容器上将flex-direction
设置为column
,但是问题是,如以下问题中多次提到的,当flex项包装在第二列中时,flex容器的宽度不会增加
When flexbox items wrap in column mode, container does not grow its width
为此,如flex-box bug中所述,
https://github.com/philipwalton/flexbugs#flexbug-14
如果您的容器具有固定的高度(通常在启用环绕功能时会发生这种情况),则可以使用flex-flow避免此错误:行换行(注意行而不是列),并通过更新容器来伪造列行为容器的写入模式(并将其重置为项目)。演示14.1.b显示了在所有现代浏览器中均可使用的示例。
我创建了小提琴用于说明。我想做的是仅在弹性项目多于或容器高度超过特定值(例如300px)时,才将弹性项目推到第二列(包装)。
<div class="flexcontainer">
<div class="flexitem">This is flex item-1 with variable content.</div>
<div class="flexitem">This is flex item-2 with variable content.</div>
<div class="flexitem">This is flex item-3 with variable content.</div>
<div class="flexitem">This is flex item-4 with variable content.</div>
<div class="flexitem">This is flex item-5 with variable content.</div>
</div>
https://jsfiddle.net/wuyom9dn/1/
我想根据父对象的最大高度对其进行包装,否则flex-container应该仅根据内容高度消耗高度。
我不希望Flex容器具有固定的高度,但仍然希望与小提琴相同的布局。
有可能吗?