diff --git a/src/assets/styles/index.scss b/src/assets/styles/index.scss
index 87898e6..3027045 100644
--- a/src/assets/styles/index.scss
+++ b/src/assets/styles/index.scss
@@ -123,6 +123,7 @@ aside {
//main-container全局样式
.app-container {
padding: 20px;
+ transition: background-color 0.3s ease;
}
.components-container {
diff --git a/src/assets/styles/variables.module.scss b/src/assets/styles/variables.module.scss
index 4579b69..a884595 100644
--- a/src/assets/styles/variables.module.scss
+++ b/src/assets/styles/variables.module.scss
@@ -89,49 +89,74 @@ $--color-info: #909399;
// 暗黑模式变量
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;
+ /* 默认通用 - 优化为更舒适的深色背景 */
+ --el-bg-color: #0f1419;
+ --el-bg-color-overlay: #1a1f24;
+ --el-text-color-primary: #e4e7ed;
+ --el-text-color-regular: #b3b9c4;
+ --el-border-color: #2d3339;
+ --el-border-color-light: #252a2f;
+
+ /* 主体内容区域背景 */
+ --main-bg-color: #0f1419;
+ --content-bg-color: #151a20;
/* 侧边栏 */
- --sidebar-bg: #141414;
- --sidebar-text: #ffffff;
- --menu-hover: #2d2d2d;
+ --sidebar-bg: #0f1419;
+ --sidebar-text: #e4e7ed;
+ --menu-hover: #1f2529;
--menu-active-text: #{$menuActiveText};
/* 顶部导航栏 */
- --navbar-bg: #141414;
- --navbar-text: #ffffff;
- --navbar-hover: #141414;
+ --navbar-bg: #0f1419;
+ --navbar-text: #e4e7ed;
+ --navbar-hover: #1a1f24;
+ --navbar-border: #252a2f;
/* 标签栏 */
- --tags-bg: #141414;
- --tags-item-bg: #1d1e1f;
- --tags-item-border: #303030;
- --tags-item-text: #d0d0d0;
- --tags-item-hover: #2d2d2d;
- --tags-close-hover: #64666a;
+ --tags-bg: #0f1419;
+ --tags-item-bg: #1a1f24;
+ --tags-item-border: #252a2f;
+ --tags-item-text: #b3b9c4;
+ --tags-item-hover: #1f2529;
+ --tags-close-hover: #4a5568;
/* splitpanes 组件暗黑模式变量 */
- --splitpanes-bg: #141414;
- --splitpanes-border: #303030;
- --splitpanes-splitter-bg: #1d1e1f;
- --splitpanes-splitter-hover-bg: #2d2d2d;
+ --splitpanes-bg: #0f1419;
+ --splitpanes-border: #252a2f;
+ --splitpanes-splitter-bg: #1a1f24;
+ --splitpanes-splitter-hover-bg: #1f2529;
/* blockquote 暗黑模式变量 */
- --blockquote-bg: #1d1e1f;
- --blockquote-border: #303030;
- --blockquote-text: #d0d0d0;
+ --blockquote-bg: #1a1f24;
+ --blockquote-border: #252a2f;
+ --blockquote-text: #b3b9c4;
/* Cron 时间表达式 模式变量 */
- --cron-border: #303030;
+ --cron-border: #252a2f;
/* splitpanes default-theme 暗黑模式变量 */
- --splitpanes-default-bg: #141414;
+ --splitpanes-default-bg: #0f1419;
+
+ /* 搜索框暗黑模式变量 */
+ --search-bg: #1a1f24;
+ --search-border: #252a2f;
+ --search-text: #e4e7ed;
+ --search-placeholder: #6b7280;
+ --search-hover-bg: #1f2529;
+ --search-suffix-bg: #252a2f;
+
+ /* 下拉菜单暗黑模式变量 */
+ --dropdown-bg: #1a1f24;
+ --dropdown-border: #252a2f;
+ --dropdown-item-hover: #1f2529;
+ --dropdown-divider: #252a2f;
+
+ /* 主体内容区域 */
+ --main-bg-color: #0f1419;
+ --content-bg-color: #151a20;
+ --card-bg-color: #1a1f24;
+ --card-border-color: #252a2f;
/* 侧边栏菜单覆盖 */
.sidebar-container {
@@ -224,5 +249,63 @@ html.dark {
background: var(--cron-border);
}
+ /* 主体内容区域样式覆盖 */
+ .app-main {
+ background-color: var(--main-bg-color) !important;
+ }
+
+ .app-container {
+ background-color: var(--content-bg-color);
+ color: var(--el-text-color-primary);
+ }
+
+ .components-container {
+ background-color: var(--content-bg-color);
+ color: var(--el-text-color-primary);
+ }
+
+ /* 卡片样式夜间模式 */
+ .el-card {
+ background-color: var(--card-bg-color) !important;
+ border-color: var(--card-border-color) !important;
+ color: var(--el-text-color-primary) !important;
+ }
+
+ /* 面包屑导航夜间模式 */
+ .el-breadcrumb {
+ .el-breadcrumb__inner {
+ color: var(--el-text-color-regular) !important;
+
+ &.is-link {
+ color: var(--el-text-color-regular) !important;
+
+ &:hover {
+ color: var(--el-color-primary) !important;
+ }
+ }
+ }
+ }
+
+ /* 侧边栏菜单项夜间模式优化 */
+ .sidebar-container {
+ .el-menu-item,
+ .el-sub-menu__title {
+ &:hover {
+ background-color: rgba(0, 168, 98, 0.12) !important;
+ }
+ }
+
+ .el-menu-item.is-active {
+ background-color: rgba(0, 168, 98, 0.18) !important;
+ }
+ }
+
+ /* 导航栏汉堡菜单夜间模式 */
+ .hamburger-container {
+ &:hover {
+ background: rgba(255, 255, 255, 0.05) !important;
+ }
+ }
+
}
diff --git a/src/layout/components/AppMain.vue b/src/layout/components/AppMain.vue
index d6b95c6..e473c8e 100644
--- a/src/layout/components/AppMain.vue
+++ b/src/layout/components/AppMain.vue
@@ -42,6 +42,8 @@ function addIframe() {
width: 100%;
position: relative;
overflow: hidden;
+ background-color: var(--main-bg-color, #ffffff);
+ transition: background-color 0.3s ease;
}
.fixed-header + .app-main {
@@ -81,10 +83,32 @@ function addIframe() {
::-webkit-scrollbar-track {
background-color: #f1f1f1;
+ transition: background-color 0.3s ease;
}
::-webkit-scrollbar-thumb {
background-color: #c0c0c0;
border-radius: 3px;
+ transition: background-color 0.3s ease;
+
+ &:hover {
+ background-color: #a0a0a0;
+ }
+}
+
+// 夜间模式滚动条样式
+html.dark {
+ ::-webkit-scrollbar-track {
+ background-color: var(--el-bg-color, #0f1419);
+ }
+
+ ::-webkit-scrollbar-thumb {
+ background-color: #4a5568;
+ border-radius: 3px;
+
+ &:hover {
+ background-color: #5a6578;
+ }
+ }
}
diff --git a/src/layout/components/Navbar.vue b/src/layout/components/Navbar.vue
index 9fb87ef..d45b59a 100644
--- a/src/layout/components/Navbar.vue
+++ b/src/layout/components/Navbar.vue
@@ -20,7 +20,8 @@
style="width: 130px"
placeholder="搜索"
class="search-input"
- @keydown.ctrl.k="handleSearch"
+ readonly
+ @click="handleSearch"
>