gpt4 book ai didi

html - 如何在 flexbox 中跨行均匀分布元素?

转载 作者:太空狗 更新时间:2023-10-29 15:48:41 29 4
gpt4 key购买 nike

如果我有类似下面的内容:

<div id="flex">
<div></div>
<div></div>
<div></div>
<div></div>
</div>

假设flex-direction: row还有那三个<div></div>元素适合一行,浏览器是否可以在两行中每行显示 2,而不是在一行显示 3,然后在下一行显示 1?

最佳答案

Assuming flex-direction: row and that three <div></div> elements fit on one line, is it possible for the browser to display 2 on each line, for two lines, instead of displaying 3 on one line, and then 1 on the next?

该声明中隐含的是每个 div 等于或小于完整行宽度的 1/3。

因此通常你的结果会是......

#flex {
display: flex;
flex-wrap: wrap;
background: orange;
}
#flex div {
border: 1px solid white;
height: 100px;
width: 33%;
background: rebeccapurple;
}
<div id="flex">
<div></div>
<div></div>
<div></div>
<div></div>
</div>

但是,根据请求,您似乎希望在第二个元素之后换行。

如@Oriol 所述here这只能通过改变结构或使用巧妙的方法插入不可见的实际元素来强制换行来完成。

例如:

#flex {
display: flex;
flex-wrap: wrap;
background: orange;
justify-content: space-around;
}
#flex div {
border: 1px solid white;
height: 100px;
width: 33%;
background: rebeccapurple;
}
#flex::before {
content: "";
width: 100%;
order: 1;
}
div:nth-child(n + 3) {
order: 2;
}
<div id="flex">
<div></div>
<div></div>
<div></div>
<div></div>
</div

关于html - 如何在 flexbox 中跨行均匀分布元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38587442/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com