pub(crate) fn expand_flexible_tracks(
base: &[i32],
flex: &[Option<f32>],
mins: &[i32],
) -> Vec<i32>Expand description
fr 列の自動最小を考慮して列幅を配り直す(CSS Grid §12.7.1「fr の大きさを求める」の簡略版)。
【2026-10-04】1fr は minmax(auto, 1fr) で、列は中身の最小幅(min-content)より
狭くならない。従来は文字列だけで幅を配っていたため、sugi-lab.net トップの
.about-content{grid-template-columns:1fr 1fr} が Chrome(左 443.9・右 376.1)と違い
410/410 の等分になり、左列の統計カードがはみ出していた。
base: 文字列から配った列幅(fr 列は残り幅を係数比で配った値)flex: 各列の fr 係数(flex_factors)。Noneの列は変えないmins: 各列の最小幅(その列だけに入る要素の min-content の最大)
最小幅を下回る fr 列をその幅に固定し、残りを固定していない fr 列へ係数比で配る。
固定したことで別の列が足りなくなれば繰り返す。全部固定して収まらなければ
最小幅のまま(はみ出す)。満たしていれば base をそのまま返す。