/* 现代化后台管理界面样式 - 高端商务风格 */ /* 全局样式重置和基础设置 */ * { box-sizing: border-box; } body { font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; line-height: 1.6; color: #2c3e50; background: #f8fafc; } /* 主容器优化 */ .menu-index-box { display: flex; min-height: 100vh; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); position: relative; } .menu-index-box::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(255, 255, 255, 0.05); backdrop-filter: blur(10px); z-index: 0; } /* 左侧导航栏现代化设计 */ .menu-index-left { width: 260px; min-height: 100vh; background: linear-gradient(180deg, #1e293b 0%, #0f172a 100%); box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15); position: relative; z-index: 10; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); } .menu-index-left::before { content: ''; position: absolute; top: 0; right: 0; width: 1px; height: 100%; background: linear-gradient(180deg, transparent 0%, rgba(255, 255, 255, 0.1) 50%, transparent 100%); } /* Logo区域优化 */ .menu-index-left-logo { padding: 24px 20px; text-align: center; border-bottom: 1px solid rgba(255, 255, 255, 0.08); background: rgba(255, 255, 255, 0.02); } .menu-index-left-logo > img { width: 160px; height: auto; max-height: 60px; object-fit: contain; filter: brightness(1.1) contrast(1.1); transition: all 0.3s ease; } .menu-index-left-logo > img:hover { transform: scale(1.05); filter: brightness(1.2) contrast(1.2); } /* 菜单项现代化样式 */ .el-menu { background: transparent !important; border: none !important; padding: 12px 0; } .el-menu-item, .el-submenu__title { height: 48px !important; line-height: 48px !important; margin: 4px 12px; border-radius: 12px !important; background: transparent !important; color: rgba(255, 255, 255, 0.8) !important; font-weight: 500; font-size: 14px; transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important; position: relative; overflow: hidden; } .el-menu-item::before, .el-submenu__title::before { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.1) 0%, rgba(255, 255, 255, 0.05) 100%); opacity: 0; transition: opacity 0.3s ease; border-radius: 12px; } .el-menu-item:hover::before, .el-submenu__title:hover::before { opacity: 1; } .el-menu-item:hover, .el-submenu__title:hover { color: #ffffff !important; transform: translateX(4px); box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15); } .el-menu-item.is-active, .menu-index-active { background: linear-gradient(135deg, #3b82f6 0%, #1d4ed8 100%) !important; color: #ffffff !important; box-shadow: 0 4px 16px rgba(59, 130, 246, 0.4); transform: translateX(4px); } .el-menu-item.is-active::before { opacity: 0; } /* 图标样式优化 */ .menu-index-list-con { display: flex; align-items: center; padding: 0 16px; } .menu-index-list-con i { font-size: 18px !important; margin-right: 12px; width: 20px; text-align: center; transition: all 0.3s ease; } .menu-index-list-con span { font-weight: 500; letter-spacing: 0.5px; } /* 子菜单样式 */ .el-submenu .el-menu-item { height: 40px !important; line-height: 40px !important; margin: 2px 12px 2px 24px; padding-left: 40px !important; font-size: 13px !important; background: rgba(255, 255, 255, 0.03) !important; border-radius: 8px !important; } .el-submenu .el-menu-item:hover { background: rgba(255, 255, 255, 0.08) !important; transform: translateX(2px); } .is-opened .el-menu.el-menu--inline { background: rgba(0, 0, 0, 0.1) !important; border-radius: 8px; margin: 4px 12px; padding: 8px 0; } /* 右侧内容区域 */ .menu-index-right { flex: 1; background: #ffffff; border-radius: 24px 0 0 24px; margin: 12px 12px 12px 0; box-shadow: 0 8px 32px rgba(0, 0, 0, 0.12); overflow: hidden; position: relative; z-index: 5; } /* 顶部标题栏现代化 */ .menu-index-right-title { height: 72px; background: linear-gradient(135deg, #ffffff 0%, #f8fafc 100%); border-bottom: 1px solid rgba(0, 0, 0, 0.06); display: flex; justify-content: space-between; align-items: center; padding: 0 24px; position: relative; } .menu-index-right-title::after { content: ''; position: absolute; bottom: 0; left: 24px; right: 24px; height: 1px; background: linear-gradient(90deg, transparent 0%, rgba(0, 0, 0, 0.1) 50%, transparent 100%); } /* 用户信息区域 */ .menu-index-user-name { color: #1e293b !important; font-size: 18px; font-weight: 600; margin: 0; line-height: 1.4; } .menu-index-notice { background: linear-gradient(135deg, #fef3c7 0%, #fde68a 100%); border: 1px solid #f59e0b; border-radius: 12px; padding: 8px 16px; margin-left: 20px; box-shadow: 0 2px 8px rgba(245, 158, 11, 0.2); } .menu-index-notice-left span { color: #92400e !important; font-weight: 600; } /* 右侧操作按钮组 */ .menu-index-right-list-box { display: flex; align-items: center; gap: 8px; } .menu-index-right-list { padding: 8px 16px; background: rgba(59, 130, 246, 0.1); color: #3b82f6 !important; border-radius: 8px; font-size: 13px; font-weight: 500; transition: all 0.3s ease; cursor: pointer; border: 1px solid rgba(59, 130, 246, 0.2); } .menu-index-right-list:hover { background: #3b82f6; color: #ffffff !important; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3); } .menu-index-right-list i { margin-right: 6px; font-size: 14px; } /* 用户头像区域 */ .menu-index-right-title-nickname { display: flex; align-items: center; padding: 0 16px; background: rgba(59, 130, 246, 0.05); border-radius: 12px; transition: all 0.3s ease; cursor: pointer; } .menu-index-right-title-nickname:hover { background: rgba(59, 130, 246, 0.1); transform: translateY(-1px); } .menu-index-right-title-nickname-detail { color: #1e293b !important; margin-left: 12px; } .menu-index-right-title-nickname-detail span:first-child { font-weight: 600; font-size: 14px; } .menu-index-right-title-nickname-detail span:last-child { color: #64748b !important; font-size: 12px; } /* 退出按钮 */ .menu-index-right-title-quit { width: 48px; height: 48px; background: rgba(239, 68, 68, 0.1); border: 1px solid rgba(239, 68, 68, 0.2); border-radius: 12px; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; cursor: pointer; } .menu-index-right-title-quit:hover { background: #ef4444; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(239, 68, 68, 0.3); } .menu-index-right-title-quit img { width: 20px; height: 20px; filter: brightness(0) saturate(100%) invert(27%) sepia(51%) saturate(2878%) hue-rotate(346deg) brightness(104%) contrast(97%); transition: filter 0.3s ease; } .menu-index-right-title-quit:hover img { filter: brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7500%) hue-rotate(109deg) brightness(105%) contrast(105%); } /* 面包屑导航优化 */ .menu-index-right-header { height: 56px; background: #ffffff; border-bottom: 1px solid rgba(0, 0, 0, 0.06); padding: 0 24px; display: flex; align-items: center; justify-content: space-between; } .el-breadcrumb { font-size: 14px; } .separator-act { color: #3b82f6 !important; font-weight: 600; transition: all 0.3s ease; } .separator-act:hover { color: #1d4ed8 !important; } .separator-normal { color: #64748b; font-weight: 500; } /* 刷新按钮优化 */ .menu-index-refresh-child-window { display: flex; align-items: center; gap: 6px; padding: 8px 16px; background: rgba(59, 130, 246, 0.1); color: #3b82f6; border-radius: 8px; font-size: 13px; font-weight: 500; transition: all 0.3s ease; cursor: pointer; border: 1px solid rgba(59, 130, 246, 0.2); } .menu-index-refresh-child-window:hover { background: #3b82f6; color: #ffffff; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3); } .menu-index-refresh-child-window:active { transform: translateY(0) scale(0.98); } /* 内容区域优化 */ .menu-index-right-content { background: #f8fafc; height: calc(100vh - 140px); overflow-y: auto; } .include-page { padding: 24px; background: #f8fafc; } .include-page > div { background: #ffffff; border-radius: 16px; padding: 24px; box-shadow: 0 4px 16px rgba(0, 0, 0, 0.04); border: 1px solid rgba(0, 0, 0, 0.06); } /* 滚动条美化 */ .myInclude-content { width: 260px; } .myInclude-content .el-scrollbar__wrap { overflow-x: hidden; } ::-webkit-scrollbar { width: 6px; height: 6px; } ::-webkit-scrollbar-track { background: rgba(0, 0, 0, 0.05); border-radius: 3px; } ::-webkit-scrollbar-thumb { background: rgba(0, 0, 0, 0.2); border-radius: 3px; transition: background 0.3s ease; } ::-webkit-scrollbar-thumb:hover { background: rgba(0, 0, 0, 0.4); } /* 响应式设计 */ @media (max-width: 1200px) { .menu-index-left { width: 200px; } .myInclude-content { width: 200px; } .menu-index-right-title { padding: 0 16px; } .menu-index-right-header { padding: 0 16px; } } @media (max-width: 768px) { .menu-index-box { flex-direction: column; } .menu-index-left { width: 100%; min-height: auto; order: 2; } .menu-index-right { width: 100%; order: 1; margin: 0; border-radius: 0; } .myInclude-content { width: 100%; height: auto; } } /* 加载动画 */ @keyframes fadeInUp { from { opacity: 0; transform: translateY(20px); } to { opacity: 1; transform: translateY(0); } } .menu-index-right { animation: fadeInUp 0.6s ease-out; } .menu-index-left { animation: fadeInUp 0.6s ease-out 0.1s both; } /* 微交互动画 */ .el-menu-item, .el-submenu__title { transform-origin: left center; } .menu-index-right-list, .menu-index-refresh-child-window { transform-origin: center; } /* 深色模式支持 */ @media (prefers-color-scheme: dark) { .menu-index-right { background: #1e293b; color: #e2e8f0; } .menu-index-right-title { background: linear-gradient(135deg, #1e293b 0%, #0f172a 100%); border-bottom-color: rgba(255, 255, 255, 0.1); } .menu-index-user-name { color: #e2e8f0 !important; } .include-page { background: #0f172a; } .include-page > div { background: #1e293b; border-color: rgba(255, 255, 255, 0.1); } }