// industrial palette $blue: #1d4e89; $light-blue: #2471a3; $red: #c0392b; $pink: #e65d6e; $green: #4b8b3b; $tiffany: #4ab7bd; $yellow: #d68910; $panGreen: #2f8f5b; // 默认主题变量 $menuText: #d7e2ee; $menuActiveText: #7cc0ff; $menuBg: #1c2b3a; $menuHover: #25384a; // 浅色主题theme-light $menuLightBg: #f5f7fa; $menuLightHover: #e9eef5; $menuLightText: #2f3a4a; $menuLightActiveText: #1d4e89; // 基础变量 $base-sidebar-width: 200px; $sideBarWidth: 200px; // 菜单暗色变量 $base-menu-color: #d7e2ee; $base-menu-color-active: #ffffff; $base-menu-background: #1c2b3a; $base-sub-menu-background: #16212d; $base-sub-menu-hover: #223243; // 组件变量 $--color-primary: #1d4e89; $--color-success: #4b8b3b; $--color-warning: #d68910; $--color-danger: #c0392b; $--color-info: #7f8c8d; :export { menuText: $menuText; menuActiveText: $menuActiveText; menuBg: $menuBg; menuHover: $menuHover; menuLightBg: $menuLightBg; menuLightHover: $menuLightHover; menuLightText: $menuLightText; menuLightActiveText: $menuLightActiveText; sideBarWidth: $sideBarWidth; // 导出基础颜色 blue: $blue; lightBlue: $light-blue; red: $red; pink: $pink; green: $green; tiffany: $tiffany; yellow: $yellow; panGreen: $panGreen; // 导出组件颜色 colorPrimary: $--color-primary; colorSuccess: $--color-success; colorWarning: $--color-warning; colorDanger: $--color-danger; colorInfo: $--color-info; } // CSS变量定义 :root { /* 亮色模式变量 */ --sidebar-bg: #{$menuBg}; --sidebar-text: #{$menuText}; --menu-hover: #{$menuHover}; --navbar-bg: #f5f7fa; --navbar-text: #2f3a4a; --navbar-hover: #e9eef5; --page-bg: #f0f2f5; --card-bg: #ffffff; --card-border: #dde1e6; --panel-header-bg: #1c2b3a; --panel-header-text: #ffffff; --panel-accent: #1d4e89; --panel-accent-2: #2471a3; --muted-text: #7f8c8d; /* splitpanes default-theme 变量 */ --splitpanes-default-bg: #f5f7fa; } // 暗黑模式变量 html.dark { /* 默认通用 */ --el-bg-color: #141414; --el-bg-color-overlay: #1d1e1f; --el-text-color-primary: #ffffff; --el-text-color-regular: #d0d0d0; --el-border-color: #434343; --el-border-color-light: #434343; /* 侧边栏 */ --sidebar-bg: #141414; --sidebar-text: #ffffff; --menu-hover: #2d2d2d; --menu-active-text: #{$menuActiveText}; /* 顶部导航栏 */ --navbar-bg: #141414; --navbar-text: #ffffff; --navbar-hover: #141414; /* 标签栏 */ --tags-bg: #141414; --tags-item-bg: #1d1e1f; --tags-item-border: #303030; --tags-item-text: #d0d0d0; --tags-item-hover: #2d2d2d; --tags-close-hover: #64666a; /* splitpanes 组件暗黑模式变量 */ --splitpanes-bg: #141414; --splitpanes-border: #303030; --splitpanes-splitter-bg: #1d1e1f; --splitpanes-splitter-hover-bg: #2d2d2d; /* blockquote 暗黑模式变量 */ --blockquote-bg: #1d1e1f; --blockquote-border: #303030; --blockquote-text: #d0d0d0; /* Cron 时间表达式 模式变量 */ --cron-border: #303030; /* splitpanes default-theme 暗黑模式变量 */ --splitpanes-default-bg: #141414; /* 侧边栏菜单覆盖 */ .sidebar-container { .el-menu-item, .menu-title { color: var(--el-text-color-regular); } & .theme-dark .nest-menu .el-sub-menu>.el-sub-menu__title, & .theme-dark .el-sub-menu .el-menu-item { background-color: var(--el-bg-color) !important; } } /* 顶部栏栏菜单覆盖 */ .el-menu--horizontal { .el-menu-item { &:not(.is-disabled) { &:hover, &:focus { background-color: var(--navbar-hover) !important; } } } } /* 分割窗格覆盖 */ .splitpanes { background-color: var(--splitpanes-bg); .splitpanes__pane { background-color: var(--splitpanes-bg); border-color: var(--splitpanes-border); } .splitpanes__splitter { background-color: var(--splitpanes-splitter-bg); border-color: var(--splitpanes-border); &:hover { background-color: var(--splitpanes-splitter-hover-bg); } &:before, &:after { background-color: var(--splitpanes-border); } } } /* 表格样式覆盖 */ .el-table { --el-table-header-bg-color: var(--el-bg-color-overlay) !important; --el-table-header-text-color: var(--el-text-color-regular) !important; --el-table-border-color: var(--el-border-color-light) !important; --el-table-row-hover-bg-color: var(--el-bg-color-overlay) !important; .el-table__header-wrapper, .el-table__fixed-header-wrapper { th { background-color: var(--el-bg-color-overlay, #f8f8f9) !important; color: var(--el-text-color-regular, #515a6e); } } } /* 树组件高亮样式覆盖 */ .el-tree { .el-tree-node.is-current > .el-tree-node__content { background-color: var(--el-bg-color-overlay) !important; color: var(--el-color-primary); } .el-tree-node__content:hover { background-color: var(--el-bg-color-overlay); } } /* 下拉菜单样式覆盖 */ .el-dropdown-menu__item:not(.is-disabled):focus, .el-dropdown-menu__item:not(.is-disabled):hover{ background-color: var(--navbar-hover) !important; } /* blockquote样式覆盖 */ blockquote { background-color: var(--blockquote-bg) !important; border-left-color: var(--blockquote-border) !important; color: var(--blockquote-text) !important; } /* 时间表达式标题样式覆盖 */ .popup-result .title { background: var(--cron-border); } }