From 8f30ca939dc6194712051c82031206b00ddbf6e1 Mon Sep 17 00:00:00 2001 From: Kinflou Date: Fri, 4 Sep 2026 05:09:16 +0800 Subject: [PATCH] =?UTF-8?q?sim:=20fix=20frames=20column=20alignment=20?= =?UTF-8?q?=E2=80=94=20all-fixed=20grid=20tracks?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The header (`font-size: 0.6rem`) and the rows (`0.72rem`) each sized their own `3ch` / `minmax(_, auto)` tracks, so the columns drifted. Every track is now rem or a single shared `1fr` (fn) — font-size- and content-independent, so the header lines up with the rows. `direction` is a fixed 10rem (ellipsis past that); `fn` takes the slack. --- app/src/style.css | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/src/style.css b/app/src/style.css index 555fe4e..cbcbb19 100644 --- a/app/src/style.css +++ b/app/src/style.css @@ -977,10 +977,13 @@ label.clock-btn { stroke: var(--err); stroke-dasharray: 3 3; } -/* one grid template shared by the column header and every row's summary */ +/* One grid template shared by the column header and every row's summary. Every + track is rem / fr — no `ch`, `auto` or `max-content`, which would size to each + grid's own content and drift (the header text ≠ the row text, and the header + font is smaller). */ .sim-frames { - --frame-grid: 3ch minmax(6rem, auto) 4.5rem minmax(3rem, 1fr) 4.5rem 3.5rem; - --frame-grid-conn: 7rem 3ch minmax(6rem, auto) 4.5rem minmax(3rem, 1fr) 4.5rem 3.5rem; + --frame-grid: 2rem 10rem 5rem 1fr 4.5rem 3.5rem; + --frame-grid-conn: 7rem 2rem 10rem 5rem 1fr 4.5rem 3.5rem; } .sim-frames-cols {