From 93c817658ae042b5962f23130d79bea4d01c6503 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 28 Sep 2026 15:28:49 +0900 Subject: [PATCH 1/3] =?UTF-8?q?feat(M02):=20=EC=A7=91=EA=B3=84=ED=91=9C=20?= =?UTF-8?q?=EC=95=84=EB=9E=98=20=EC=B9=B4=EB=93=9C=20=E2=80=94=20=EC=B0=BD?= =?UTF-8?q?=20=ED=81=AC=EA=B8=B0=EC=97=90=20=EB=A7=9E=EC=B6=B0=20=EC=9E=90?= =?UTF-8?q?=EB=8F=99=20=EB=B6=84=ED=95=A0(=EB=91=90=20=EC=97=B4=20?= =?UTF-8?q?=EC=B5=9C=EB=8C=80=20=C2=B7=20=EC=B9=B4=EB=93=9C=20=EC=B5=9C?= =?UTF-8?q?=EC=86=8C=20360px)=20=C2=B7=20=EC=B9=B4=EB=93=9C=20=EB=86=92?= =?UTF-8?q?=EC=9D=B4=EB=8F=84=20=EC=B0=BD=20=EB=86=92=EC=9D=B4=EC=97=90=20?= =?UTF-8?q?=EB=A7=9E=EC=B6=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 칸 폭 728px 이상이면 면적산출 · 재료산출 반반 · 그보다 좁으면 한 줄에 하나씩 · 창 크기를 바꾸면 바로 반영 - 미리보기 · 표 높이를 창 높이 비율(clamp)로 · 작은 창에서 카드가 화면을 다 먹지 않게 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_019Kyw9qnkJ94pC1A4PfpDtA --- M02_MasterTemplete/M02_MasterTemplete_Structure.css | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/M02_MasterTemplete/M02_MasterTemplete_Structure.css b/M02_MasterTemplete/M02_MasterTemplete_Structure.css index 3b50fbe4..19fcfc52 100644 --- a/M02_MasterTemplete/M02_MasterTemplete_Structure.css +++ b/M02_MasterTemplete/M02_MasterTemplete_Structure.css @@ -7,10 +7,13 @@ } /* 도면 정보는 한 줄 전체 · 면적산출 · 재료산출은 반반(둘 합 + 간격 = 도면 정보 폭) · - 카드 하나가 520px 안 되면 한 줄에 하나씩 */ + 카드 하나가 360px 안 되면 한 줄에 하나씩(칸 폭에 따라 자동 · 창이 작아지면 바로 바뀜 · 두 열이 최대) */ .m02-struct { display: grid; - grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr)); + grid-template-columns: repeat( + auto-fit, + minmax(min(100%, max(360px, calc((100% - var(--spacing-8)) / 2))), 1fr) + ); align-items: start; padding-top: var(--spacing-12); border-top: 1px solid var(--color-border); @@ -68,7 +71,7 @@ .m02-struct__preview { display: flex; overflow: hidden; - height: 24rem; + height: clamp(16rem, 45vh, 24rem); min-height: 0; min-width: 0; } @@ -81,7 +84,7 @@ 없으면 0 이 되어 칸이 안 보였음(진짜 원인). 약 30행이 늘 보이게 높이를 정하고 넘치면 격자 안쪽(.ss-grid-host)이 스스로 스크롤(spreadsheet_grid.css). */ .m02-struct__sheet { - height: 45rem; + height: clamp(20rem, 70vh, 45rem); overflow: hidden; min-width: 0; } From fedc860365c9b2dc182e19d5196aad3b4e417530 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 28 Sep 2026 15:36:05 +0900 Subject: [PATCH 2/3] =?UTF-8?q?feat(M02):=20=EC=A7=91=EA=B3=84=ED=91=9C=20?= =?UTF-8?q?=EC=95=84=EB=9E=98=20=EC=B9=B4=EB=93=9C=20=E2=80=94=20=EB=8F=84?= =?UTF-8?q?=EB=A9=B4=20=EC=A0=95=EB=B3=B4=20CAD=20=EB=86=92=EC=9D=B4=20=3D?= =?UTF-8?q?=20=EB=A9=B4=EC=A0=81=EC=82=B0=EC=B6=9C=20=C2=B7=20=EC=9E=AC?= =?UTF-8?q?=EB=A3=8C=EC=82=B0=EC=B6=9C=20=ED=91=9C=20=EB=86=92=EC=9D=B4(?= =?UTF-8?q?=ED=95=9C=20=EA=B0=92=20=C2=B7=20=EC=B0=BD=20=EB=86=92=EC=9D=B4?= =?UTF-8?q?=EC=97=90=20=EB=A7=9E=EC=B6=B0=20=ED=95=A8=EA=BB=98=20=EB=B3=80?= =?UTF-8?q?=ED=95=A8)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 세 카드 내용 높이를 CSS 변수 하나(clamp 18rem · 60vh · 40rem)로 통일 · 한 줄씩일 때도 같음 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_019Kyw9qnkJ94pC1A4PfpDtA --- M02_MasterTemplete/M02_MasterTemplete_Structure.css | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/M02_MasterTemplete/M02_MasterTemplete_Structure.css b/M02_MasterTemplete/M02_MasterTemplete_Structure.css index 19fcfc52..61c358dc 100644 --- a/M02_MasterTemplete/M02_MasterTemplete_Structure.css +++ b/M02_MasterTemplete/M02_MasterTemplete_Structure.css @@ -9,6 +9,8 @@ /* 도면 정보는 한 줄 전체 · 면적산출 · 재료산출은 반반(둘 합 + 간격 = 도면 정보 폭) · 카드 하나가 360px 안 되면 한 줄에 하나씩(칸 폭에 따라 자동 · 창이 작아지면 바로 바뀜 · 두 열이 최대) */ .m02-struct { + /* CAD 미리보기 · 면적산출 · 재료산출 내용 높이 — 한 값(창 높이에 맞춰 함께 변함) */ + --m02-struct-body-h: clamp(18rem, 60vh, 40rem); display: grid; grid-template-columns: repeat( auto-fit, @@ -71,7 +73,7 @@ .m02-struct__preview { display: flex; overflow: hidden; - height: clamp(16rem, 45vh, 24rem); + height: var(--m02-struct-body-h); min-height: 0; min-width: 0; } @@ -84,7 +86,7 @@ 없으면 0 이 되어 칸이 안 보였음(진짜 원인). 약 30행이 늘 보이게 높이를 정하고 넘치면 격자 안쪽(.ss-grid-host)이 스스로 스크롤(spreadsheet_grid.css). */ .m02-struct__sheet { - height: clamp(20rem, 70vh, 45rem); + height: var(--m02-struct-body-h); overflow: hidden; min-width: 0; } From ac83e1b550d8643398556768ed8b5ffca4fe3859 Mon Sep 17 00:00:00 2001 From: umsangdon Date: Mon, 28 Sep 2026 15:37:58 +0900 Subject: [PATCH 3/3] =?UTF-8?q?feat(M02):=20=EC=A7=91=EA=B3=84=ED=91=9C=20?= =?UTF-8?q?=EC=95=84=EB=9E=98=20=EC=B9=B4=EB=93=9C=20=E2=80=94=20=EB=8F=84?= =?UTF-8?q?=EB=A9=B4=20=EC=A0=95=EB=B3=B4=20=C2=B7=20=EB=A9=B4=EC=A0=81?= =?UTF-8?q?=EC=82=B0=EC=B6=9C=20=C2=B7=20=EC=9E=AC=EB=A3=8C=EC=82=B0?= =?UTF-8?q?=EC=B6=9C=203=EC=97=B4=20=EA=B0=99=EC=9D=80=20=ED=8F=AD=20?= =?UTF-8?q?=C2=B7=20=EC=B9=B4=EB=93=9C=20=EC=B5=9C=EC=86=8C=20300px=20?= =?UTF-8?q?=EC=95=84=EB=9E=98=EB=A1=9C=20=EC=A2=81=EC=9C=BC=EB=A9=B4=202?= =?UTF-8?q?=EC=97=B4=20=E2=86=92=201=EC=97=B4=20=EC=9E=90=EB=8F=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - grid auto-fit/minmax 한 규칙 · 도면 정보 전체 폭 고정 제거 · 높이는 통일 변수 그대로 Co-Authored-By: Claude Sonnet 5 Claude-Session: https://claude.ai/code/session_019Kyw9qnkJ94pC1A4PfpDtA --- M02_MasterTemplete/M02_MasterTemplete_Structure.css | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/M02_MasterTemplete/M02_MasterTemplete_Structure.css b/M02_MasterTemplete/M02_MasterTemplete_Structure.css index 61c358dc..463c6efd 100644 --- a/M02_MasterTemplete/M02_MasterTemplete_Structure.css +++ b/M02_MasterTemplete/M02_MasterTemplete_Structure.css @@ -6,26 +6,18 @@ display: contents; } -/* 도면 정보는 한 줄 전체 · 면적산출 · 재료산출은 반반(둘 합 + 간격 = 도면 정보 폭) · - 카드 하나가 360px 안 되면 한 줄에 하나씩(칸 폭에 따라 자동 · 창이 작아지면 바로 바뀜 · 두 열이 최대) */ +/* 카드 셋 나란히(같은 폭) · 카드 하나가 300px 안 되면 자동으로 2열 → 1열(칸 폭에 따라 · 창이 작아지면 바로 바뀜) */ .m02-struct { /* CAD 미리보기 · 면적산출 · 재료산출 내용 높이 — 한 값(창 높이에 맞춰 함께 변함) */ --m02-struct-body-h: clamp(18rem, 60vh, 40rem); display: grid; - grid-template-columns: repeat( - auto-fit, - minmax(min(100%, max(360px, calc((100% - var(--spacing-8)) / 2))), 1fr) - ); + grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); align-items: start; padding-top: var(--spacing-12); border-top: 1px solid var(--color-border); min-width: 0; } -.m02-struct > :first-child { - grid-column: 1 / -1; -} - .m02-struct > * { min-width: 0; }