我一直在阅读 Stack Overflow 的问题和其他博客,试图理解 flex-basis
是什么,但我仍然无法完全理解它如何影响元素的行为。
这是我的代码示例:
.item {
background-color: red;
border: 1px solid pink;
margin: 10px;
padding: 10px;
}
.container {
display: flex;
}
.container .item {
height: 50px;
flex-grow: 1;
}
.container3 {
flex-direction: row;
width: 500px;
}
.container3 .a,
.container3 .b {
flex-basis: 200px;
}
<div class="container container3">
<div class="item a">Segmentation fault</div>
<div class="item b">Null pointer exception</div>
<div class="item c">hello</div>
<div class="item d">hello</div>
</div>
a
和 b
的 flex-basis
设置为 200px,但它们的宽度都小于 200px
。我原本认为 flex-basis
是项的“初始”宽度,即项的“最小宽度”。但显然这不是真的,所以我不明白“初始”是什么意思。当给出像素值的
flex-basis
时,计算项 a
和 b
的宽度的具体数学公式是什么?
.item.a
的宽度为156px。你知道用于确定这个值的数学公式是什么吗?为什么是156px而不是152px或任何其他值?我问这个问题是因为我正在尝试预测当未指定flex-shrink时,flex-basis对元素的影响。 - John