@use 'mixins/index' as mixins; /* NavMenu 导航菜单 ------------------------------- */ $radius: 6px; $menuHeight: 42px !important; $spacing: 8px; // 鼠标 hover 时颜色 .el-menu-hover-bg-color { background-color: #f0f8ff !important; // 更舒适的悬停背景色 } // 默认样式修改 .el-menu { border-right: none !important; width: 220px; } .el-menu-item, .el-sub-menu__title { height: $menuHeight; line-height: $menuHeight; border-radius: $radius; color: #5a5a5a; // 统一调整菜单字体颜色为更舒适的深灰色 transition: all 0.2s ease; // 第三方图标字体间距/大小设置 .icon, .fa { @include mixins.generalIcon; } } .el-menu-item { margin: 2px $spacing; width: calc(100% - #{2 * $spacing}); } // 修复点击左侧菜单折叠再展开时,宽度不跟随问题 .el-menu--collapse { width: 64px !important; // 菜单收起时,图标不居中问题 .el-menu-item, .el-sub-menu__title { margin: 4px 0; width: auto; .iconfont, .fa { margin-right: 0 !important; } } .el-sub-menu__title { padding-right: 0 !important; } } // 外部链接时 .el-menu-item a, .el-menu-item a:hover, .el-menu-item i, .el-sub-menu__title i { color: inherit; text-decoration: none; } // 水平菜单、横向菜单高亮 背景色,鼠标 hover 时,有子级菜单的背景色 .el-menu-item.is-active, .el-sub-menu.is-active>.el-sub-menu__title, .el-sub-menu:not(.is-opened):hover .el-sub-menu__title { @extend .el-menu-hover-bg-color; color: #409eff; } .el-menu-item:hover { @extend .el-menu-hover-bg-color; transform: translateX(2px); } // 确保展开的子菜单项在hover时也使用统一的样式 .el-sub-menu.is-opened .el-sub-menu__title:hover { @extend .el-menu-hover-bg-color; } // 只有直接激活的菜单项才应用高亮样式 .el-menu-item.is-active { color: #409eff !important; } // 只有当前路由匹配的菜单项才应用高亮样式 .el-menu-item.is-active:not(.is-disabled) { color: #409eff !important; } // 重置所有子菜单标题的默认样式,确保与普通菜单项一致 .el-sub-menu .el-sub-menu__title { color: #5a5a5a !important; } // 只有真正激活且未展开的子菜单才应用高亮样式 .el-sub-menu.is-active:not(.is-opened)>.el-sub-menu__title { color: #409eff !important; } // 展开的子菜单保持默认样式 .el-sub-menu.is-active.is-opened>.el-sub-menu__title { background-color: unset !important; color: #5a5a5a !important; } // 水平菜单、横向菜单折叠 a 标签 .el-popper.is-dark a { color: var(--el-color-white) !important; text-decoration: none; } // 水平菜单、横向菜单折叠背景色 .el-popper.is-pure.is-light { // 水平菜单 .el-menu--vertical { background: #fafafa; // 更舒适的背景色 .el-sub-menu.is-active .el-sub-menu__title { color: var(--el-menu-active-color); } } // 横向菜单 .el-menu--horizontal { .el-menu-item, .el-sub-menu { color: var(--bg-topBarColor); } } } // 横向菜单(经典、横向)布局 .el-menu.el-menu--horizontal { border-bottom: none !important; width: 100% !important; .el-menu-item, .el-sub-menu__title { color: var(--bg-topBarColor); padding: 0 10px !important; // 减小内边距 border-bottom: none !important; } // 为水平菜单的子菜单项正确处理箭头图标位置 .el-sub-menu { .el-sub-menu__title { padding-right: 22px !important; // 调整箭头图标空间 border-bottom: none !important; } // 确保水平菜单的箭头图标正确显示在右侧 .el-sub-menu__icon-arrow { right: 8px !important; margin-top: -6px !important; } } // 移除可能的伪元素下划线 .el-menu-item::after, .el-sub-menu__title::after { display: none !important; } } // 暗黑模式下的菜单样式 html.dark { .el-menu-hover-bg-color { background-color: #2c2c2c !important; // 暗黑模式下的悬停背景色 } .el-menu-item, .el-sub-menu__title { color: #b2b2b2; // 暗黑模式下的菜单字体颜色 } .el-menu-item.is-active, .el-menu-item.is-active:not(.is-disabled) { color: #409eff !important; } // 重置所有子菜单标题的默认样式,确保与普通菜单项一致 - 暗黑模式 .el-sub-menu .el-sub-menu__title { color: #b2b2b2 !important; } // 只有真正激活且未展开的子菜单才应用高亮样式 - 暗黑模式 .el-sub-menu.is-active:not(.is-opened)>.el-sub-menu__title { color: #409eff !important; } // 展开的子菜单保持默认样式 - 暗黑模式 .el-sub-menu.is-active.is-opened>.el-sub-menu__title { background-color: unset !important; color: #b2b2b2 !important; } // 水平菜单、横向菜单折叠背景色 - 暗黑模式 .el-popper.is-pure.is-light { // 水平菜单 .el-menu--vertical { background: #1f1f1f; // 暗黑模式下的背景色 } } // 横向菜单(经典、横向)布局 - 暗黑模式 .el-menu.el-menu--horizontal { .el-menu-item, .el-sub-menu__title { color: #b2b2b2; // 暗黑模式下的字体颜色 } } .el-menu { background-color: #1f1f1f; // 暗黑模式下的菜单背景色 } // 确保暗黑模式下展开的子菜单项在hover时也使用统一的样式 .el-sub-menu.is-opened .el-sub-menu__title:hover { @extend .el-menu-hover-bg-color; } } /* Tabs 标签页 ------------------------------- */ /* Dropdown 下拉菜单 ------------------------------- */ .el-dropdown-menu { list-style: none !important; /*修复 Dropdown 下拉菜单样式问题 2022.03.04*/ } .el-dropdown-menu .el-dropdown-menu__item { white-space: nowrap; &:not(.is-disabled):hover { background-color: var(--el-dropdown-menuItem-hover-fill); color: var(--el-dropdown-menuItem-hover-color); } } /* Card 卡片 ------------------------------- */ .el-card__header { padding: 15px 20px; } /* Breadcrumb 面包屑 ------------------------------- */ .el-breadcrumb__inner a:hover, .el-breadcrumb__inner.is-link:hover { color: var(--el-color-primary); } .el-breadcrumb__inner a, .el-breadcrumb__inner.is-link { color: var(--bg-topBarColor); font-weight: normal; } // el-tooltip使用自定义主题时的样式 .el-popper.is-customized { /* Set padding to ensure the height is 32px */ // padding: 6px 12px; background: linear-gradient(90deg, rgb(159, 229, 151), rgb(204, 229, 129)); } .el-popper.is-customized .el-popper__arrow::before { background: linear-gradient(45deg, #b2e68d, #bce689); right: 0; } /* Dialog 对话框 ------------------------------- */ .el-dialog { border-radius: 6px; /* 设置圆角 */ box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); /* 添加轻微阴影效果 */ border: 1px solid var(--el-border-color-lighter); }