Files
Aislo/ui_template/ui_template_side_panels.css
T
eomsangdonandClaude Opus 5.5 712d3f19d5 fix(ui): 49 오른쪽 접는 패널 = 좌측 패널 손잡이 양식 · 패널 몸만 따로 스크롤 · 원문 보기 한 벌
- 49-1 공용 ui_template_side_panels — 세로 글 띠 · 접기 ▸ 걷어내고 공용 createWorkflowPanelHandle(side · right · 이름표) 손잡이를 패널 왼쪽 가장자리에 붙임 · 패널마다 손잡이 하나 · 하나만 열림 · 폭 공유 · 모두 접힘(폭 0 · 손잡이만 남음) — M01 로직 상세 · M02 일위대가 상세 · 면적산출 상세 모두 따라감
- 49-3 패널 묶음을 보이는 칸 안에 붙임(followView · 위 칸 overflow 가 CSS sticky 를 막아 JS) — 높이 = 보이는 칸 · 머리띠 아래 멈춤 · 몸만 스크롤
- 49-2 원문 md 읽기 — 빈 줄 · 주석이 붙은 표 둘을 가름(한 표로 합쳐지던 깨짐) · 칸 안 <br> = 줄바꿈
- 49-4 원문 칸 80vh 제한 걷어냄 — 표 높이 = 내용 · 가로 넓은 표만 가로 스크롤
- 49-5 원문 꼴 한 벌 — M01 둘레 글자 크기(14) 안 따르고 본문 크기(M02 와 같음)
- 확인 시나리오 ui_checks/49_오른쪽패널_양식.js · 시험 test_m01_logic_source 표 가름 한 줄

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPJGtfXo6GMbcpiboQC4uK
2026-10-05 16:16:59 +09:00

117 lines
2.6 KiB
CSS

/* 본문 오른쪽 접는 패널 여럿 — 왼쪽 가장자리 손잡이(좌측 패널과 같은 꼴) · 편 패널 = 공유 폭(--ui-side-panels-width)
보이는 칸 안에 붙음(JS followView) — 몸만 따로 스크롤 · 메인 스크롤과 따로 */
/* 부르는 쪽 칸 — [본문, 패널 묶음] */
.ui-side-panels-row {
display: flex;
align-items: stretch;
min-width: 0;
}
.ui-side-panels-row[hidden] {
display: none;
}
.ui-side-panels-row > :first-child {
flex: 1 1 auto;
min-width: 0;
}
.ui-side-panels {
position: relative;
display: flex;
flex: none;
align-self: flex-start;
/* 높이 · 붙는 자리 = JS(followView) · 처음 한 번 그릴 때까지 */
height: calc(100vh - 80px);
/* 손잡이 자리(24) + 틈 */
margin-left: calc(var(--spacing-24) + var(--spacing-8));
}
/* 모두 접힘 — 폭 0 · 손잡이만 왼쪽 밖에 남음 */
.ui-side-panels.is-collapsed {
width: 0;
}
/* 손잡이 줄 — 패널 왼쪽 밖 세로 가운데 · 패널 둘이면 위아래로 */
.ui-side-panels__handles {
position: absolute;
z-index: 2;
top: 50%;
left: calc(-1 * var(--spacing-24));
display: flex;
flex-direction: column;
gap: var(--spacing-4);
transform: translateY(-50%);
}
.ui-side-panels__handles > .ui-workflow-overlay__handle--side {
position: static;
transform: none;
border-right: 0;
border-left: 1px solid var(--panel-handle-border, var(--color-border));
border-radius: var(--radius-buttons) 0 0 var(--radius-buttons);
}
.ui-side-panels.is-resizing {
user-select: none;
}
.ui-side-panels__panel {
position: relative;
display: flex;
flex: none;
flex-direction: column;
width: var(--ui-side-panels-width, 420px);
min-width: 0;
height: 100%;
border: 1px solid var(--color-border);
border-radius: var(--radius-cards);
background: var(--color-surface);
}
.ui-side-panels__panel[hidden] {
display: none;
}
/* 왼쪽 경계 — 끌기 · 화살표 키 */
.ui-side-panels__grip {
position: absolute;
top: 0;
bottom: 0;
left: -5px;
width: 8px;
cursor: col-resize;
touch-action: none;
z-index: 1;
}
.ui-side-panels__grip:hover,
.ui-side-panels__grip:focus-visible,
.ui-side-panels.is-resizing .ui-side-panels__grip {
background: var(--color-primary);
opacity: 0.4;
}
.ui-side-panels__head {
display: flex;
align-items: center;
gap: var(--spacing-8);
padding: var(--spacing-8) var(--spacing-12);
border-bottom: 1px solid var(--color-border);
}
.ui-side-panels__title {
flex: 1 1 auto;
min-width: 0;
color: var(--color-text);
}
.ui-side-panels__body {
flex: 1 1 auto;
min-width: 0;
min-height: 0;
padding: var(--spacing-12);
overflow: auto;
}