diff --git a/design/uiux/prototype/02-대시보드.html b/design/uiux/prototype/02-대시보드.html index cec44f6..d461fb0 100644 --- a/design/uiux/prototype/02-대시보드.html +++ b/design/uiux/prototype/02-대시보드.html @@ -407,6 +407,93 @@ section { margin-bottom: var(--space-xl); } + + /* 플로팅 액션 메뉴 */ + .fab-menu { + position: fixed; + bottom: 160px; /* 모바일: FAB 버튼(88px) + FAB 높이(56px) + 여백(16px) */ + right: var(--space-lg); + display: flex; + flex-direction: column; + gap: var(--space-md); + z-index: 999; + opacity: 0; + transform: translateY(20px); + pointer-events: none; + transition: all var(--transition-normal); + } + + .fab-menu.active { + opacity: 1; + transform: translateY(0); + pointer-events: all; + } + + .fab-menu-item { + display: flex; + align-items: center; + gap: var(--space-sm); + background: var(--primary); /* FAB와 동일한 Primary 색상 */ + border-radius: var(--radius-full); + padding: var(--space-sm) var(--space-lg); + box-shadow: var(--shadow-fab); + cursor: pointer; + transition: all var(--transition-fast); + white-space: nowrap; + min-height: 48px; /* 터치 영역 확보 */ + } + + .fab-menu-item:hover { + background: var(--primary-dark); /* FAB hover와 동일 */ + transform: translateX(-4px); + box-shadow: var(--shadow-lg); + } + + .fab-menu-item:active { + transform: translateX(-4px) scale(0.98); + } + + .fab-menu-item-icon { + font-size: 20px; + color: var(--white); + } + + .fab-menu-item-text { + font-weight: var(--font-weight-medium); + font-size: var(--font-body); + color: var(--white); /* 흰색 텍스트 */ + } + + /* FAB 회전 효과 */ + .fab.active { + transform: rotate(45deg); + } + + /* 오버레이 */ + .fab-overlay { + position: fixed; + top: 0; + left: 0; + right: 0; + bottom: 0; + background: rgba(0, 0, 0, 0.3); + z-index: 998; + opacity: 0; + pointer-events: none; + transition: opacity var(--transition-normal); + } + + .fab-overlay.active { + opacity: 1; + pointer-events: all; + } + + /* 데스크톱에서 위치 조정 */ + @media (min-width: 768px) { + .fab-menu { + bottom: 96px; /* 데스크톱: FAB 버튼(24px) + FAB 높이(56px) + 여백(16px) */ + } + }
@@ -529,8 +616,23 @@ + + + + + + - +