Skip to main contentModule grid
Source - GridTrack 🔒
- グリッドトラック(行/列の 1 トラック)のサイズ種別。
- find_grid_area 🔒
template_areas 内で name という名前のセルが占める矩形のバウンディングボックスを返す。
(row_start, col_start, row_span, col_span)(いずれも0始まり)。. は名前なしセルなので対象外。- grid_axis_placement 🔒
- グリッドアイテムの 1 軸の配置を解決する。
short(grid-row / grid-column のショートハンド a / b)を優先し、無ければ
longhand(*-start / *-end)を読む。戻り値は (明示開始行0始まり, スパン)。
明示開始が無い(auto)の場合は None。 - grid_cells_free 🔒
- (r,c) から row_span×col_span の矩形が全て空いているか。
- grid_col_x 🔒
- 列インデックス col の左端 x オフセット(列幅 + col_gap の累積)。
- grid_ensure_col 🔒
grid-auto-flow: column が明示列数を超えて新しい列を作った際、既存の全行の
occupancy 幅を min_cols まで広げる(新規に作る行は grid_ensure_row 側で
正しい幅で作られるため対象外。既存行だけ広げれば足りる)。- grid_ensure_row 🔒
- occupancy 行を必要分まで確保(n_cols 幅の false 行を追加)。
- grid_mark 🔒
- (r,c) から row_span×col_span を占有済みにする。
- grid_span_width 🔒
- col から col_span 列ぶんの合計幅(内側の col_gap を含む)。
- parse_grid_template_areas 🔒
grid-template-areas を解析する。各文字列リテラル(クォートされた1行)が1グリッド行、
空白区切りのトークンがその行の各列のセル名になる。. は未使用セル(名前なし)扱い。
例: "header header" "sidebar content" → [[“header”,“header”],[“sidebar”,“content”]]- parse_grid_template_columns 🔒
grid-template-columns を解析して列幅 Vec を返す。
repeat(N, W) / repeat(auto-fit, minmax(Npx, 1fr)) / 1fr 2fr / 固定 px に対応。- parse_grid_tracks 🔒
grid-template-rows / grid-template-columns を GridTrack のリストへ展開。
repeat(N, def) / repeat(auto-fit|auto-fill, def) を展開する。base は %/auto-fit 用。- parse_one_grid_track 🔒
- 単一トラック定義(
100px / 2fr / auto / 50% / minmax(min,max))を解釈。
base は % 解決と auto 折衝の基準サイズ。 - split_top_level_ws 🔒
- トップレベル(括弧の外)の空白でトークン分割する。
minmax(a, b) / repeat(n, x)
の括弧内の空白では分割しない。string_slice lint 回避のため char_indices + get を使う。