设置伸缩容器高度以在只有较少项目时伸缩项目内容的高度

时间:2019-05-27 05:45:28

标签: css flexbox

我正在尝试为自己的一家电子商务商店创建大型菜单。为此,我使用的是弹性框布局。

在大型菜单中,有一些子类别需要按列显示。

因此我可以在父类别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容器具有固定的高度,但仍然希望与小提琴相同的布局。

有可能吗?

0 个答案:

没有答案