flex-basis、flex-grow、flex-shrink 如何分配空间?
参考答案
Flex 布局先基于项目的基础尺寸和约束计算剩余空间,再使用 grow 或 shrink 分配。grow 处理正剩余空间;shrink 对负空间的分配还与基础尺寸有关,不是简单把超出部分平均分摊。
flex-basis 决定主轴基础尺寸,与 width 或 height 的关系取决于主轴方向和具体值。项目默认最小尺寸可能来自内容,因此即使允许收缩,长单词仍可能把布局撑开;常需检查 min-width:0 或 min-height:0。
flex:1 的常见展开包含零基础尺寸,但百分比零与长度零在某些不确定容器尺寸下有差异。实际排查应查看计算样式,避免把简写当成“每项永远一样宽”。