mirror of
https://gitee.com/dromara/mayfly-go
synced 2025-11-02 15:30:25 +08:00
296 lines
7.2 KiB
SCSS
296 lines
7.2 KiB
SCSS
@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);
|
|
} |