dark.scss 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278
  1. @use "sass:color";
  2. @use "element-plus/theme-chalk/src/dark/css-vars.scss" as *;
  3. /* 整体暗色风格适配 */
  4. html.dark {
  5. $border-style: #303030;
  6. $color-white: #fff;
  7. /* 自定义深色背景颜色 */
  8. // --el-bg-color: #020409;
  9. /* 常用border-color 需要时可取用 */
  10. --pure-border-color: rgb(253 253 253 / 12%);
  11. /* switch关闭状态下的color 需要时可取用 */
  12. --pure-switch-off-color: #ffffff3f;
  13. /* vxe-table */
  14. --vxe-form-background-color: #151515;
  15. --vxe-toolbar-background-color: #151515;
  16. --vxe-pager-background-color: #151515;
  17. --vxe-button-default-background-color: color.adjust(#151515, $lightness: 15%);
  18. --vxe-table-header-background-color: color.adjust(#151515, $lightness: 5%);
  19. --vxe-font-color: color.adjust(#c9d1d9, $lightness: -12%);
  20. --vxe-table-header-font-color: #c9d1d9;
  21. --vxe-table-footer-font-color: #c9d1d9;
  22. --vxe-table-body-background-color: #151515;
  23. --vxe-table-footer-background-color: #151515;
  24. --vxe-table-row-striped-background-color: #1e1e1e;
  25. --vxe-table-border-color: #303030;
  26. --vxe-table-row-hover-background-color: #1e1e1e;
  27. --vxe-table-row-hover-striped-background-color: color.adjust(
  28. #1e1e1e,
  29. $lightness: -10%
  30. );
  31. --vxe-table-row-current-background-color: fade(#1e1e1e, 20%);
  32. --vxe-table-row-hover-current-background-color: fade(#1e1e1e, 20%);
  33. --vxe-table-column-hover-background-color: fade(#1e1e1e, 20%);
  34. --vxe-table-column-current-background-color: fade(#1e1e1e, 20%);
  35. --vxe-table-row-checkbox-checked-background-color: fade(#1e1e1e, 15%);
  36. --vxe-table-row-hover-checkbox-checked-background-color: fade(#1e1e1e, 20%);
  37. --vxe-table-menu-background-color: color.adjust(#303133, $lightness: 10%);
  38. --vxe-table-filter-panel-background-color: color.adjust(
  39. #151515,
  40. $lightness: 5%
  41. );
  42. --vxe-grid-maximize-background-color: #151515;
  43. --vxe-pager-perfect-background-color: #151515;
  44. --vxe-pager-perfect-button-background-color: color.adjust(
  45. #151515,
  46. $lightness: 15%
  47. );
  48. --vxe-input-background-color: #151515;
  49. --vxe-input-border-color: #303030;
  50. --vxe-select-panel-background-color: #151515;
  51. --vxe-table-popup-border-color: #303030;
  52. --vxe-select-option-hover-background-color: color.adjust(
  53. #1e1e1e,
  54. $lightness: 15%
  55. );
  56. --vxe-pulldown-panel-background-color: #151515;
  57. --vxe-table-fixed-left-scrolling-box-shadow: 8px 0px 10px -5px #43464c;
  58. --vxe-table-fixed-right-scrolling-box-shadow: -8px 0px 10px -5px #43464c;
  59. --vxe-loading-background-color: rgb(0 0 0 / 50%);
  60. --vxe-tooltip-dark-background-color: color.adjust(#303133, $lightness: 25%);
  61. --vxe-modal-header-background-color: #1e1e1e;
  62. --vxe-modal-body-background-color: #303133;
  63. --vxe-modal-border-color: #303030;
  64. --vxe-toolbar-panel-background-color: #151515;
  65. --vxe-input-disabled-color: color.adjust(#1e1e1e, $lightness: 20%);
  66. --vxe-input-disabled-background-color: color.adjust(#1e1e1e, $lightness: 25%);
  67. --vxe-checkbox-icon-background-color: color.adjust(#1e1e1e, $lightness: 15%);
  68. --vxe-checkbox-checked-icon-border-color: #303030;
  69. --vxe-checkbox-indeterminate-icon-background-color: color.adjust(
  70. #1e1e1e,
  71. $lightness: 15%
  72. );
  73. .navbar,
  74. .tags-view,
  75. .contextmenu,
  76. .sidebar-container,
  77. .horizontal-header,
  78. .sidebar-logo-container,
  79. .horizontal-header .el-sub-menu__title,
  80. .horizontal-header .submenu-title-noDropdown {
  81. background: var(--el-bg-color) !important;
  82. }
  83. .app-main,
  84. .app-main-nofixed-header {
  85. background: #020409 !important;
  86. }
  87. .logic-flow-view,
  88. .wangeditor {
  89. filter: invert(0.9) hue-rotate(180deg);
  90. }
  91. /* 标签页 */
  92. .tags-view {
  93. .arrow-left,
  94. .arrow-right {
  95. border-right: 1px solid $border-style;
  96. box-shadow: none;
  97. }
  98. .arrow-right {
  99. border-left: 1px solid $border-style;
  100. }
  101. .scroll-item {
  102. .el-icon-close {
  103. &:hover {
  104. color: rgb(255 255 255 / 85%) !important;
  105. background-color: rgb(255 255 255 / 12%);
  106. }
  107. }
  108. .chrome-tab {
  109. .tag-title {
  110. color: #666;
  111. }
  112. &:hover {
  113. .chrome-tab__bg {
  114. color: #333;
  115. }
  116. .tag-title {
  117. color: #adadad;
  118. }
  119. }
  120. }
  121. }
  122. }
  123. /* 系统配置面板 */
  124. .right-panel-items {
  125. .el-divider__text {
  126. --el-bg-color: var(--el-bg-color);
  127. }
  128. .el-divider--horizontal {
  129. border-top: none;
  130. }
  131. }
  132. /* 表单设计器 */
  133. .design-form {
  134. .el-main.config-content,
  135. .el-header,
  136. .el-main.widget-empty,
  137. .widget-form-list,
  138. .el-aside,
  139. .widget-view {
  140. background: var(--el-bg-color) !important;
  141. }
  142. .form-edit-widget-label a {
  143. color: $color-white;
  144. background: var(--el-color-primary);
  145. border: none;
  146. border-radius: 5px;
  147. }
  148. .el-aside {
  149. color: $color-white;
  150. }
  151. }
  152. /* intro.js */
  153. .introjs-tooltip-title,
  154. .introjs-tooltiptext {
  155. color: var(--el-color-primary);
  156. }
  157. .el-card {
  158. --el-card-bg-color: var(--el-bg-color);
  159. }
  160. .el-backtop {
  161. --el-backtop-bg-color: rgb(72 72 78);
  162. --el-backtop-hover-bg-color: var(--el-color-primary);
  163. transition: background-color 0.25s cubic-bezier(0.7, 0.3, 0.1, 1);
  164. }
  165. .el-dropdown-menu__item:not(.is-disabled):hover {
  166. background: transparent;
  167. }
  168. /* 全局覆盖element-plus的el-dialog、el-drawer、el-message-box、el-notification组件右上角关闭图标的样式,表现更鲜明 */
  169. .el-icon {
  170. &.el-dialog__close,
  171. &.el-drawer__close,
  172. &.el-message-box__close,
  173. &.el-notification__closeBtn {
  174. &:hover {
  175. color: rgb(255 255 255 / 85%) !important;
  176. background-color: rgb(255 255 255 / 12%);
  177. .pure-dialog-svg {
  178. color: rgb(255 255 255 / 85%) !important;
  179. }
  180. }
  181. }
  182. }
  183. /* 克隆并自定义 ElMessage 样式,不会影响 ElMessage 原本样式,在 src/utils/message.ts 中调用自定义样式 ElMessage 方法即可,整体浅色风格在 src/style/element-plus.scss 文件进行了适配 */
  184. .pure-message {
  185. background-color: rgb(36 37 37) !important;
  186. background-image: initial !important;
  187. box-shadow:
  188. rgb(13 13 13 / 12%) 0 3px 6px -4px,
  189. rgb(13 13 13 / 8%) 0 6px 16px 0,
  190. rgb(13 13 13 / 5%) 0 9px 28px 8px !important;
  191. & .el-message__content {
  192. color: $color-white !important;
  193. pointer-events: all !important;
  194. background-image: initial !important;
  195. }
  196. & .el-message__closeBtn {
  197. &:hover {
  198. color: rgb(255 255 255 / 85%);
  199. background-color: rgb(255 255 255 / 12%);
  200. }
  201. }
  202. }
  203. /* 自定义菜单搜索样式 */
  204. .pure-search-dialog {
  205. .el-dialog__footer {
  206. box-shadow:
  207. 0 -1px 0 0 #555a64,
  208. 0 -3px 6px 0 rgb(69 98 155 / 12%);
  209. }
  210. .search-footer {
  211. .search-footer-item {
  212. color: rgb(235 235 235 / 60%);
  213. .icon {
  214. box-shadow: none;
  215. }
  216. }
  217. }
  218. }
  219. /* ReSegmented 组件 */
  220. .pure-segmented {
  221. color: rgb(255 255 255 / 65%);
  222. background-color: #000;
  223. .pure-segmented-item-selected {
  224. background-color: #1f1f1f;
  225. }
  226. .pure-segmented-item-disabled {
  227. color: rgb(255 255 255 / 25%);
  228. }
  229. }
  230. /* 仿 el-scrollbar 滚动条样式 支持大多数浏览器,如Chrome、Edge、Firefox、Safari等 */
  231. .pure-scrollbar {
  232. scrollbar-color: rgb(63 64 66) transparent;
  233. ::-webkit-scrollbar-thumb {
  234. background-color: rgb(63 64 66);
  235. }
  236. ::-webkit-scrollbar-thumb:hover {
  237. background: rgb(92 93 96);
  238. }
  239. }
  240. }