CSS 多段組(Multi-column Layout)

対象: column-count / column-width / columns / column-gap 実装: arm/v1/src/os_lib/layout/multicol.rs(純粋モジュール) + arm/v1/src/os_lib/layout/tree.rs(layout_block の後処理) 試験: arm/v1/tests/src/test_multicol.rs(21 件) + arm/v1/src/os_lib/layout/selftest.rs(結合 3 件)

設計判断: 新レイアウトモードではなく「後処理」にした

多段組は本来 display と同格の新しいレイアウトモードだが、 通常フローで子を積み終えたあとに列へ再配置する後処理として実装した。

理由は既存経路を壊さないため。幅計算・マージン相殺・float・ box-sizing・絶対配置など、ブロックレイアウトには長期のデバッグで 積み上げた分岐が多数ある。新モードを足すとそれらを再実装することになり、 回帰の危険が高い。後処理なら「積み終わった結果の x/y を移すだけ」で済む。

代償として、列またぎの分割(1 つの段落が列 A の末尾から列 B の先頭へ 続く)はできない。子ボックス単位でしか列へ振り分けられない。

不変条件

既定値

未対応(意図的)

columns ショートハンドの長さ成分は px のみ解決する。 2em 等の未対応単位は「長さとして扱えない」として無視し、 ページ全体を壊さない安全側へ倒す。