variables.module.scss 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. // base color
  2. $blue: #324157;
  3. $light-blue: #333c46;
  4. $red: #C03639;
  5. $pink: #E65D6E;
  6. $green: #30B08F;
  7. $tiffany: #4AB7BD;
  8. $yellow: #FEC171;
  9. $panGreen: #30B08F;
  10. // 默认主题变量
  11. $menuText: #bfcbd9;
  12. $menuActiveText: #409eff;
  13. $menuBg: #304156;
  14. $menuHover: #263445;
  15. // 浅色主题theme-light
  16. $menuLightBg: #ffffff;
  17. $menuLightHover: #f0f1f5;
  18. $menuLightText: #303133;
  19. $menuLightActiveText: #409EFF;
  20. // 基础变量
  21. $base-sidebar-width: 200px;
  22. $sideBarWidth: 200px;
  23. // 菜单暗色变量
  24. $base-menu-color: #bfcbd9;
  25. $base-menu-color-active: #f4f4f5;
  26. $base-menu-background: #304156;
  27. $base-sub-menu-background: #1f2d3d;
  28. $base-sub-menu-hover: #001528;
  29. // 组件变量
  30. $--color-primary: #409EFF;
  31. $--color-success: #67C23A;
  32. $--color-warning: #E6A23C;
  33. $--color-danger: #F56C6C;
  34. $--color-info: #909399;
  35. :export {
  36. menuText: $menuText;
  37. menuActiveText: $menuActiveText;
  38. menuBg: $menuBg;
  39. menuHover: $menuHover;
  40. menuLightBg: $menuLightBg;
  41. menuLightHover: $menuLightHover;
  42. menuLightText: $menuLightText;
  43. menuLightActiveText: $menuLightActiveText;
  44. sideBarWidth: $sideBarWidth;
  45. // 导出基础颜色
  46. blue: $blue;
  47. lightBlue: $light-blue;
  48. red: $red;
  49. pink: $pink;
  50. green: $green;
  51. tiffany: $tiffany;
  52. yellow: $yellow;
  53. panGreen: $panGreen;
  54. // 导出组件颜色
  55. colorPrimary: $--color-primary;
  56. colorSuccess: $--color-success;
  57. colorWarning: $--color-warning;
  58. colorDanger: $--color-danger;
  59. colorInfo: $--color-info;
  60. }
  61. // CSS变量定义
  62. :root {
  63. /* 亮色模式变量 */
  64. --sidebar-bg: #{$menuBg};
  65. --sidebar-text: #{$menuText};
  66. --menu-hover: #{$menuHover};
  67. --navbar-bg: #ffffff;
  68. --navbar-text: #303133;
  69. /* splitpanes default-theme 变量 */
  70. --splitpanes-default-bg: #ffffff;
  71. }
  72. // 暗黑模式变量
  73. html.dark {
  74. /* 默认通用 */
  75. --el-bg-color: #141414;
  76. --el-bg-color-overlay: #1d1e1f;
  77. --el-text-color-primary: #ffffff;
  78. --el-text-color-regular: #d0d0d0;
  79. --el-border-color: #434343;
  80. --el-border-color-light: #434343;
  81. /* primary */
  82. --primary-bg: #18212b;
  83. /* 侧边栏 */
  84. --sidebar-bg: #141414;
  85. --sidebar-text: #ffffff;
  86. --menu-hover: #2d2d2d;
  87. --menu-active-text: #{$menuActiveText};
  88. /* 顶部导航栏 */
  89. --navbar-bg: #141414;
  90. --navbar-text: #ffffff;
  91. --navbar-hover: #141414;
  92. /* 标签栏 */
  93. --tags-bg: #141414;
  94. --tags-item-bg: #1d1e1f;
  95. --tags-item-border: #303030;
  96. --tags-item-text: #d0d0d0;
  97. --tags-item-hover: #2d2d2d;
  98. --tags-close-hover: #64666a;
  99. /* splitpanes 组件暗黑模式变量 */
  100. --splitpanes-bg: #141414;
  101. --splitpanes-border: #303030;
  102. --splitpanes-splitter-bg: #1d1e1f;
  103. --splitpanes-splitter-hover-bg: #2d2d2d;
  104. /* blockquote 暗黑模式变量 */
  105. --blockquote-bg: #1d1e1f;
  106. --blockquote-border: #303030;
  107. --blockquote-text: #d0d0d0;
  108. /* Cron 时间表达式 模式变量 */
  109. --cron-border: #303030;
  110. /* splitpanes default-theme 暗黑模式变量 */
  111. --splitpanes-default-bg: #141414;
  112. /* 侧边栏菜单覆盖 */
  113. .sidebar-container {
  114. .el-menu-item:not(.is-active), .menu-title {
  115. color: var(--el-text-color-regular);
  116. }
  117. & .theme-dark .nest-menu .el-sub-menu>.el-sub-menu__title,
  118. & .theme-dark .el-sub-menu .el-menu-item {
  119. background-color: var(--el-bg-color) !important;
  120. }
  121. }
  122. .topmenu-container {
  123. .el-menu-item,
  124. .el-sub-menu .el-sub-menu__title {
  125. color: var(--el-text-color-regular) !important;
  126. }
  127. }
  128. .topbar-menu.el-menu--horizontal > .el-sub-menu .el-sub-menu__title{
  129. color: var(--el-text-color-regular) !important;
  130. }
  131. /* 顶部栏栏菜单覆盖 */
  132. .el-menu--horizontal {
  133. .el-menu-item, .el-sub-menu {
  134. &:not(.is-disabled) {
  135. &:hover,
  136. &:focus {
  137. background-color: var(--navbar-hover) !important;
  138. .el-sub-menu__title {
  139. background-color: var(--navbar-hover) !important;
  140. }
  141. }
  142. }
  143. }
  144. }
  145. /* 分割窗格覆盖 */
  146. .splitpanes {
  147. background-color: var(--splitpanes-bg);
  148. .splitpanes__pane {
  149. background-color: var(--splitpanes-bg);
  150. border-color: var(--splitpanes-border);
  151. }
  152. .splitpanes__splitter {
  153. background-color: var(--splitpanes-splitter-bg);
  154. border-color: var(--splitpanes-border);
  155. &:hover {
  156. background-color: var(--splitpanes-splitter-hover-bg);
  157. }
  158. &:before,
  159. &:after {
  160. background-color: var(--splitpanes-border);
  161. }
  162. }
  163. }
  164. /* 按钮样式覆盖 */
  165. .el-button--primary.is-plain {
  166. background-color: var(--primary-bg);
  167. border: 1px solid var(--el-color-primary-light-2);
  168. color: var(--el-color-primary-light-2);
  169. &:hover {
  170. background-color: var(--el-button-hover-bg-color);
  171. border-color: var(--el-button-hover-border-color);
  172. color: var(--el-button-hover-text-color);
  173. }
  174. &.is-disabled {
  175. background-color: var(--link-active-bg-color);
  176. border-color: var(--el-color-primary-light-3);
  177. color: var(--el-color-primary-light-3);
  178. opacity: 0.5;
  179. }
  180. }
  181. /* primary tag 样式覆盖 */
  182. .el-tag--primary {
  183. background-color: var(--primary-bg);
  184. border: 1px solid var(--el-border-color-light);
  185. color: var(--el-color-primary);
  186. }
  187. /* 表格样式覆盖 */
  188. .el-table {
  189. --el-table-header-bg-color: var(--el-bg-color-overlay) !important;
  190. --el-table-header-text-color: var(--el-text-color-regular) !important;
  191. --el-table-border-color: var(--el-border-color-light) !important;
  192. --el-table-row-hover-bg-color: var(--el-bg-color-overlay) !important;
  193. .el-table__header-wrapper, .el-table__fixed-header-wrapper {
  194. th {
  195. background-color: var(--el-bg-color-overlay, #f8f8f9) !important;
  196. color: var(--el-text-color-regular, #515a6e);
  197. }
  198. }
  199. }
  200. /* 树组件高亮样式覆盖 */
  201. .el-tree {
  202. .el-tree-node.is-current > .el-tree-node__content {
  203. background-color: var(--el-bg-color-overlay) !important;
  204. color: var(--el-color-primary);
  205. }
  206. .el-tree-node__content:hover {
  207. background-color: var(--el-bg-color-overlay);
  208. }
  209. }
  210. /* 下拉菜单样式覆盖 */
  211. .el-dropdown-menu__item:not(.is-disabled):focus, .el-dropdown-menu__item:not(.is-disabled):hover{
  212. background-color: var(--navbar-hover) !important;
  213. }
  214. /* blockquote样式覆盖 */
  215. blockquote {
  216. background-color: var(--blockquote-bg) !important;
  217. border-left-color: var(--blockquote-border) !important;
  218. color: var(--blockquote-text) !important;
  219. }
  220. /* 时间表达式标题样式覆盖 */
  221. .popup-result .title {
  222. background: var(--cron-border);
  223. }
  224. /* 底部版权样式覆盖 */
  225. .copyright {
  226. background-color: var(--el-bg-color) !important;
  227. color: var(--el-text-color-regular) !important;
  228. border-top: 1px solid var(--el-bg-color) !important;
  229. }
  230. }