Files
Aislo/ui_template/ui_template_modal.css
T

67 lines
1.6 KiB
CSS

.ui-modal__backdrop {
position: fixed;
inset: 0;
z-index: 1000;
display: flex;
align-items: flex-start;
justify-content: center;
background-color: rgba(38, 17, 74, 0.35); /* 공용 확인 창(.ui-confirm)과 같이 뒤를 가림 */
}
/* 위에서 고정 거리 — 최대 높이일 때 가운데 자리에 윗변을 붙이고 아래로만 늘고 줆(찾기 칸이 안 움직임).
큰 창은 max-height 대신 --modal-max 를 줌. */
.ui-modal {
display: flex;
flex-direction: column;
gap: var(--spacing-8);
width: min(720px, 92vw);
max-height: var(--modal-max, 80vh);
margin-top: calc((100vh - var(--modal-max, 80vh)) / 2);
padding: var(--spacing-16);
border-radius: var(--radius-xl);
border: 1px solid var(--color-border);
background: var(--color-surface-raised);
box-shadow: var(--shadow-lg);
font-size: var(--text-body-sm);
overflow: auto;
}
.ui-modal__top {
display: flex;
align-items: center;
justify-content: space-between;
gap: var(--spacing-8);
}
/* 머리 단추 자리(곁값 actions) — 제목이 남는 폭을 먹고 단추는 [닫기] 바로 왼쪽 */
.ui-modal__top > h3 {
margin-right: auto;
}
.ui-modal__actions {
display: flex;
flex-wrap: wrap;
justify-content: flex-end;
gap: var(--spacing-8);
}
/* 큰 창(곁값 wide) — 화면 거의 꽉 · 몸 넘침만 스크롤. 화면별 클래스보다 앞서게 두 클래스 */
.ui-modal.ui-modal--wide {
width: 96vw;
height: 94vh;
--modal-max: 94vh;
overflow: hidden;
}
.ui-modal--wide > .ui-modal__body {
flex: 1;
min-height: 0;
overflow: auto;
}
.ui-modal__body {
display: flex;
flex-direction: column;
gap: var(--spacing-8);
}