From 69708b2b8b7c37ebb6e484a57246485360af7329 Mon Sep 17 00:00:00 2001 From: ttipo Date: Mon, 22 Jun 2026 16:26:57 +0900 Subject: [PATCH] =?UTF-8?q?fix:=20=EB=93=9C=EB=A1=AD=EB=8B=A4=EC=9A=B4=20?= =?UTF-8?q?=EB=A9=94=EB=89=B4=EB=A5=BC=20body=20Teleport(fixed)=EB=A1=9C?= =?UTF-8?q?=20=EB=9D=84=EC=9B=8C=20=EC=9E=98=EB=A6=BC=20=ED=95=B4=EA=B2=B0?= =?UTF-8?q?=20+=20=EB=B3=B4=EA=B3=A0=20=EB=AA=A8=EB=8B=AC=20=EB=86=92?= =?UTF-8?q?=EC=9D=B4=20=ED=99=95=EB=8C=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DropdownSelect 메뉴를 absolute → body Teleport + fixed 위치 계산으로 변경. 스크롤/overflow 컨테이너(보고 모달 등) 안에서도 메뉴가 잘리지 않음(스크롤·리사이즈 시 닫힘). 보고 열람/작성 모달 max-height 를 calc(100vh - 3rem) 로 확대. Co-Authored-By: Claude Opus 4.8 (1M context) --- frontend/src/components/DropdownSelect.vue | 115 ++++++++++++-------- frontend/src/pages/relay/TaskDetailPage.vue | 2 +- 2 files changed, 72 insertions(+), 45 deletions(-) diff --git a/frontend/src/components/DropdownSelect.vue b/frontend/src/components/DropdownSelect.vue index f16160d..06eead0 100644 --- a/frontend/src/components/DropdownSelect.vue +++ b/frontend/src/components/DropdownSelect.vue @@ -1,7 +1,7 @@ @@ -65,6 +96,7 @@ onBeforeUnmount(() => { :class="{ push: pushRight, block }" > - + @@ -191,12 +226,10 @@ onBeforeUnmount(() => { transform: rotate(180deg); } -/* 메뉴 */ +/* 메뉴 — body 로 Teleport, fixed 위치(좌표는 인라인 style) */ .dd-menu { - position: absolute; - top: calc(100% + 0.375rem); - z-index: 60; - min-width: 100%; + position: fixed; + z-index: 1000; margin: 0; padding: 0.25rem; list-style: none; @@ -205,12 +238,6 @@ onBeforeUnmount(() => { border-radius: var(--radius); box-shadow: 0 8px 24px rgba(20, 24, 33, 0.14); } -.dd-menu.left { - left: 0; -} -.dd-menu.right { - right: 0; -} .dd-opt { display: flex; align-items: center; diff --git a/frontend/src/pages/relay/TaskDetailPage.vue b/frontend/src/pages/relay/TaskDetailPage.vue index c9a24f8..b200431 100644 --- a/frontend/src/pages/relay/TaskDetailPage.vue +++ b/frontend/src/pages/relay/TaskDetailPage.vue @@ -3576,7 +3576,7 @@ a.file-info { /* 보고 열람 모달 */ .cp-modal { width: min(34rem, calc(100vw - 2rem)); - max-height: calc(100vh - 4rem); + max-height: calc(100vh - 3rem); display: flex; flex-direction: column; background: #fff;