Html 如何使用flexbox子项创建包装

Html 如何使用flexbox子项创建包装,html,css,flexbox,Html,Css,Flexbox,我希望在受外部节点约束时包裹栅格: 因此,下面应该有两个单元格,一个位于另一个之上,但它会将它们并排渲染: <div style="display:flex; width:100px"> <div style="flex: 1; width: 100px;">foo</div> <div style="flex: 1; width: 100px;">bar</div> </div> 福 酒吧 我怎样才能

我希望在受外部节点约束时包裹栅格:

因此,下面应该有两个单元格,一个位于另一个之上,但它会将它们并排渲染:

<div style="display:flex; width:100px">
    <div style="flex: 1; width: 100px;">foo</div>
    <div style="flex: 1; width: 100px;">bar</div>
</div>

福
酒吧

我怎样才能达到我想要的结果?

按列方向组织它们:

.container{
显示器:flex;
对正内容:左;
对齐项目:居中;
}
.行>分区{
宽度:50px;
高度:50px;
背景颜色:浅灰色;
}

福
酒吧
福
酒吧

按列方向组织它们:

.container{
显示器:flex;
对正内容:左;
对齐项目:居中;
}
.行>分区{
宽度:50px;
高度:50px;
背景颜色:浅灰色;
}

福
酒吧
福
酒吧

将父对象设置为flex wrap将允许其进行包装,而使用flex:0 1 auto时,show for flex:[flex grow][flex shrink][flex basis]将阻止子对象收缩到一行。这也是flex子级的默认设置


福
酒吧
福
酒吧
福
酒吧

将父对象设置为flex wrap将允许其进行包装,而使用flex:0 1 auto时,show for flex:[flex grow][flex shrink][flex basis]将阻止子对象收缩到一行。这也是flex子级的默认设置


福
酒吧
福
酒吧
福
酒吧

您有两种可能

您可以将
flex direction
设置为
column
。这将设置一个垂直主轴,垂直布置您的项目

您还可以将
flex wrap
设置为
wrap
。这会告诉您的flex容器,当元素超过其父元素的宽度时,可以对其进行包装。在您的情况下,它会将第二个元素包装到下一个“行”


如果项目与示例中的父容器宽度相同,则两种方法的工作方式相同。如果项目的宽度与它们的父项不同(或者,实际上,在任何其他情况下,您希望元素在网格中并排排列,就像您在注释中提到的那样),您将需要使用
柔性换行
,以便在换行到另一行之前正确地并排排列。

您有两种可能性

您可以将
flex direction
设置为
column
。这将设置一个垂直主轴,垂直布置您的项目

您还可以将
flex wrap
设置为
wrap
。这会告诉您的flex容器,当元素超过其父元素的宽度时,可以对其进行包装。在您的情况下,它会将第二个元素包装到下一个“行”


如果项目与示例中的父容器宽度相同,则两种方法的工作方式相同。如果项目的宽度与它们的父项不同(或者,实际上,在任何其他情况下,您希望元素在网格中并排排列,就像您在注释中提到的那样),那么您需要使用
flex-wrap
,以便在包装到另一行之前正确地并排排列。

只需添加
flex-wrap:wrap(下面的第二个示例是包裹的,第一个示例不是包裹的,因为容器的宽度足以容纳一行中的两个孩子)


福
酒吧
福
酒吧

只需添加
柔性包装:包装(下面的第二个示例是包裹的,第一个示例不是包裹的,因为容器的宽度足以容纳一行中的两个孩子)


福
酒吧
福
酒吧

您能为我描述一下指定柔性方向实际上是做什么的吗?这建立了主轴,从而定义了柔性项目放置在柔性容器中的方向。Flexbox(除了可选包装外)是一个单向布局概念。可以将flex项目主要放在水平行或垂直列中。如果我有四个单元格,每个单元格的宽度为50px,这会形成一个正方形网格吗?不,它会创建一个单列。好的,我想要一个包裹的网格。你能为我描述一下指定flex方向的实际作用吗?这建立了主轴,因此,定义将flex项放置在flex容器中的方向。Flexbox(除了可选包装外)是一个单向布局概念。可以将flex项目主要放在水平行或垂直列中。如果我有四个单元格,每个单元格的宽度为50px,这会形成一个正方形网格吗?不,它会创建一个单列。好的,我想要一个包裹的网格