【发布时间】:2020-04-20 03:26:20
【问题描述】:
我希望有一个最大宽度的 flex-box 超出该宽度,但它也适合 flexbox 内任何给定“行”的最大大小。
我现在面临的问题是,任何超出最大宽度然后换行的元素都会导致 flexbox 仍然占据最大宽度。
这是一个演示问题的代码笔链接:
https://codepen.io/heroes-coding/pen/rNaGYmo
这里是顶部容器的 html/css:
<div class="holder">
<div class="flexbox">
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
<div class="item"></div>
</div>
</div>
body {
background: black;
}
.holder {
width: 650px;
background: gray;
margin-top: 50px;
}
.flexbox {
display: flex;
background: blue;
max-width: 500px;
width: fit-content;
flex-wrap: wrap;
}
.item {
width: 100px;
height: 50px;
background: red;
border-bottom: 1px dotted white;
border-top: 1px dotted white;
border-right: 1px dotted white;
}
.item.wide {
width: 200px;
}
我希望 flexbox 仍以 500 像素换行,但在换行后收缩以适应内容。
【问题讨论】:
-
这不是另一个问题的重复。这个问题是关于当 flex 容器具有多行和最大宽度时 flex 容器的固有宽度。另一个问题是关于 flex items wrapping 的内容,而不是关于多行或内在宽度或最大宽度。
-
问题不重要。这就是答案。请注意重复通知的内容:“此问题已在此处找到答案:”
-
@Michael_B,您认为该问题中的哪个答案适用于该问题?我不认为有任何作用。
-
来自您的问题:“我现在面临的问题是,任何超出最大宽度然后换行的元素都会导致 flexbox 仍占据最大宽度。” 请参考我回答的第一行。
-
此外,这个问题是关于当指定宽度是固有宽度时如何计算 flex 容器的使用宽度以及指定的 max-width 属性(显然!)如何影响它。您的回答没有解决这些问题。