| | |
| | | overflow: hidden; |
| | | padding: 0; |
| | | font-size: 0; |
| | | background: linear-gradient(180deg, #123b63 0%, #153f69 48%, #0f2d4f 100%); |
| | | background: var(--sidebar-bg); |
| | | border-right: 1px solid rgba(255, 255, 255, 0.08); |
| | | box-shadow: 8px 0 24px rgba(15, 23, 42, 0.08); |
| | | isolation: isolate; |
| | |
| | | & .nest-menu .el-sub-menu > .el-sub-menu__title, |
| | | & .el-sub-menu .el-menu-item { |
| | | min-width: 0 !important; |
| | | width: calc(100% - 24px) !important; |
| | | margin: 0 12px 8px !important; |
| | | height: 46px; |
| | | line-height: 46px; |
| | | padding-left: 14px !important; |
| | | padding-right: 14px !important; |
| | | border-radius: 12px; |
| | | width: calc(100% - 32px) !important; |
| | | margin: 0 16px 6px !important; |
| | | height: 40px; |
| | | line-height: 40px; |
| | | padding-left: 12px !important; |
| | | padding-right: 12px !important; |
| | | border-radius: 8px; |
| | | transition: all 0.24s ease; |
| | | color: var(--sidebar-text); |
| | | border: 1px solid rgba(255, 255, 255, 0.06) !important; |
| | | background: linear-gradient(128deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.01)); |
| | | border: none !important; |
| | | background: transparent; |
| | | font-size: 13px; |
| | | |
| | | &:hover { |
| | | background: linear-gradient(128deg, rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.24), rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.07)) !important; |
| | | border-color: rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.3) !important; |
| | | transform: translateX(2px); |
| | | background: rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.12) !important; |
| | | transform: translateX(4px); |
| | | } |
| | | |
| | | &.is-active { |
| | | background: var(--menu-active-bg, linear-gradient(135deg, var(--el-color-primary), var(--el-color-primary-light-3))) !important; |
| | | background-size: 180% 180%; |
| | | background: rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.85) !important; |
| | | color: #fff !important; |
| | | font-weight: 500; |
| | | box-shadow: var(--menu-active-glow, 0 10px 24px rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.34)); |
| | | animation: sidebarActiveFlow 4.6s ease infinite; |
| | | box-shadow: 0 4px 12px rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.25); |
| | | } |
| | | } |
| | | |
| | | // 子菜单容器样式 - 增加缩进和视觉层次 |
| | | & .el-sub-menu .el-menu { |
| | | padding: 4px 0 8px; |
| | | margin-left: 8px; |
| | | border-left: 2px solid rgba(255, 255, 255, 0.08); |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | > .el-menu--popup { |
| | | max-height: 100vh; |
| | | overflow-y: auto; |
| | | overflow: hidden; |
| | | padding: 10px; |
| | | border-radius: 14px; |
| | | border: 1px solid rgba(163, 194, 236, 0.26); |
| | | box-shadow: var(--shadow-md); |
| | | background: rgba(16, 49, 89, 0.96); |
| | | position: relative; |
| | | isolation: isolate; |
| | | border: 1px solid rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.26); |
| | | box-shadow: |
| | | 0 18px 40px rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.16), |
| | | var(--shadow-md); |
| | | background: var(--sidebar-bg); |
| | | backdrop-filter: blur(16px); |
| | | |
| | | &::-webkit-scrollbar-track-piece { |
| | | background: var(--surface-muted); |
| | | &::before { |
| | | content: ""; |
| | | position: absolute; |
| | | inset: -28% -52% -18% -38%; |
| | | z-index: 0; |
| | | pointer-events: none; |
| | | background: |
| | | radial-gradient(circle at 9% 12%, rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.62), transparent 44%), |
| | | radial-gradient(circle at 87% 18%, rgba(56, 189, 248, 0.4), transparent 48%), |
| | | radial-gradient(circle at 20% 82%, rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.3), transparent 43%), |
| | | radial-gradient(circle at 66% 62%, rgba(125, 211, 252, 0.24), transparent 50%), |
| | | conic-gradient( |
| | | from 210deg at 58% 38%, |
| | | rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.14) 0deg, |
| | | rgba(56, 189, 248, 0.05) 76deg, |
| | | rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.16) 180deg, |
| | | rgba(125, 211, 252, 0.04) 290deg, |
| | | rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.14) 360deg |
| | | ); |
| | | filter: blur(7px) saturate(1.24) contrast(1.05); |
| | | opacity: 0.96; |
| | | transform: translate3d(0, 0, 0); |
| | | transform-origin: 44% 58%; |
| | | animation: |
| | | sidebarAuroraDrift 17.9s cubic-bezier(0.31, 0.03, 0.18, 0.99) infinite, |
| | | sidebarAuroraBreath 9.7s ease-in-out infinite, |
| | | sidebarAuroraSkew 6.9s steps(23, end) infinite; |
| | | } |
| | | |
| | | &::-webkit-scrollbar { |
| | | width: 5px; |
| | | &::after { |
| | | content: ""; |
| | | position: absolute; |
| | | inset: 0; |
| | | z-index: 0; |
| | | pointer-events: none; |
| | | background: |
| | | linear-gradient( |
| | | 108deg, |
| | | transparent 10%, |
| | | rgba(255, 255, 255, 0.17) 34%, |
| | | rgba(255, 255, 255, 0.04) 48%, |
| | | transparent 72% |
| | | ), |
| | | linear-gradient( |
| | | 202deg, |
| | | rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.24) 0%, |
| | | transparent 34%, |
| | | rgba(56, 189, 248, 0.18) 66%, |
| | | transparent 100% |
| | | ), |
| | | radial-gradient(circle at 74% 12%, rgba(125, 211, 252, 0.25), transparent 50%), |
| | | radial-gradient(circle at 22% 84%, rgba(var(--el-color-primary-rgb, 37, 99, 235), 0.14), transparent 56%); |
| | | background-size: 236% 100%, 186% 186%, 164% 164%, 180% 180%; |
| | | background-position: 224% 0, 14% 16%, 78% 10%, 18% 82%; |
| | | opacity: 0.52; |
| | | transform: translate3d(0, 0, 0); |
| | | animation: |
| | | sidebarSheenSweep 13.1s linear infinite, |
| | | sidebarSheenJitter 4.7s steps(31, end) infinite; |
| | | } |
| | | |
| | | &::-webkit-scrollbar-thumb { |
| | | background: var(--accent-light); |
| | | border-radius: 10px; |
| | | > * { |
| | | position: relative; |
| | | z-index: 1; |
| | | } |
| | | |
| | | > .el-menu { |
| | | max-height: calc(100vh - 20px); |
| | | overflow-y: auto; |
| | | overflow-x: hidden; |
| | | |
| | | &::-webkit-scrollbar-track-piece { |
| | | background: var(--surface-muted); |
| | | } |
| | | |
| | | &::-webkit-scrollbar { |
| | | width: 5px; |
| | | } |
| | | |
| | | &::-webkit-scrollbar-thumb { |
| | | background: var(--accent-light); |
| | | border-radius: 10px; |
| | | } |
| | | } |
| | | } |
| | | } |