|
|
@@ -242,43 +242,88 @@
|
|
|
overflow-x: hidden;
|
|
|
overflow-y: auto;
|
|
|
border-right: none !important;
|
|
|
+ width: 100% !important; // 确保菜单占满容器宽度
|
|
|
|
|
|
&-item {
|
|
|
transition: all 0.2s ease;
|
|
|
- margin: 4px 8px !important;
|
|
|
+ margin: 4px 6px !important; // 减少左右边距
|
|
|
border-radius: 6px !important;
|
|
|
height: 40px !important;
|
|
|
line-height: 40px !important;
|
|
|
-
|
|
|
- &:hover {
|
|
|
- background-color: rgba(24, 144, 255, 0.06) !important;
|
|
|
+ position: relative;
|
|
|
+ // 默认状态:透明边框,保持布局稳定
|
|
|
+ border-left: 3px solid transparent !important;
|
|
|
+ padding-left: 13px !important;
|
|
|
+ padding-right: 8px !important; // 添加右内边距
|
|
|
+ // 确保菜单项不会超出容器宽度
|
|
|
+ box-sizing: border-box !important;
|
|
|
+ width: calc(100% - 12px) !important; // 减去左右边距的宽度
|
|
|
+ max-width: calc(100% - 12px) !important;
|
|
|
+
|
|
|
+ // 悬停状态 - 浅色背景,保持透明边框
|
|
|
+ &:hover:not(&-selected) {
|
|
|
+ background-color: rgba(24, 144, 255, 0.04) !important;
|
|
|
color: @primary-color !important;
|
|
|
+ // 移除位移效果,保持菜单宽度稳定
|
|
|
+ border-left: 3px solid transparent !important; // 保持透明边框,避免闪烁
|
|
|
+ padding-left: 13px !important; // 保持一致的内边距
|
|
|
+ padding-right: 8px !important; // 保持右内边距
|
|
|
}
|
|
|
|
|
|
+ // 选中状态 - 深色背景,左侧蓝色边框,字体加粗
|
|
|
&-selected {
|
|
|
font-weight: 600 !important;
|
|
|
color: @primary-color !important;
|
|
|
- background-color: rgba(24, 144, 255, 0.1) !important;
|
|
|
+ background: linear-gradient(90deg, rgba(24, 144, 255, 0.12) 0%, rgba(24, 144, 255, 0.06) 100%) !important;
|
|
|
+ border-left: 3px solid #1890ff !important; // 使用您指定的颜色
|
|
|
+ padding-left: 13px !important; // 减少左内边距以补偿边框
|
|
|
+ padding-right: 8px !important; // 保持右内边距
|
|
|
+ box-shadow: 0 1px 3px rgba(24, 144, 255, 0.1);
|
|
|
|
|
|
&::after {
|
|
|
display: none !important;
|
|
|
}
|
|
|
+
|
|
|
+ // 选中状态下的悬停效果 - 保持蓝条
|
|
|
+ &:hover {
|
|
|
+ background: linear-gradient(90deg, rgba(24, 144, 255, 0.15) 0%, rgba(24, 144, 255, 0.08) 100%) !important;
|
|
|
+ transform: none; // 选中状态不需要位移效果
|
|
|
+ box-shadow: 0 2px 6px rgba(24, 144, 255, 0.15);
|
|
|
+ border-left: 3px solid #1890ff !important; // 悬停时保持蓝条
|
|
|
+ padding-left: 13px !important; // 保持左内边距
|
|
|
+ padding-right: 8px !important; // 保持右内边距
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
&-active {
|
|
|
- font-weight: 600 !important;
|
|
|
+ font-weight: 500 !important;
|
|
|
color: @primary-color !important;
|
|
|
background-color: rgba(24, 144, 255, 0.06) !important;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- // 确保选中状态的图标也有正确的颜色
|
|
|
- &-item-selected .anticon {
|
|
|
- color: @primary-color !important;
|
|
|
- }
|
|
|
+ // 图标颜色控制
|
|
|
+ &-item {
|
|
|
+ .anticon {
|
|
|
+ transition: all 0.2s ease;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
|
|
|
- &-item-active .anticon {
|
|
|
- color: @primary-color !important;
|
|
|
+ // 悬停时图标颜色
|
|
|
+ &:hover:not(&-selected) .anticon {
|
|
|
+ color: @primary-color !important;
|
|
|
+ transform: scale(1.05);
|
|
|
+ }
|
|
|
+
|
|
|
+ // 选中状态图标颜色和效果
|
|
|
+ &-selected .anticon {
|
|
|
+ color: @primary-color !important;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ &-active .anticon {
|
|
|
+ color: @primary-color !important;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -337,6 +382,30 @@
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
gap: 8px;
|
|
|
+
|
|
|
+ .help-button {
|
|
|
+ color: #606266;
|
|
|
+ background-color: #f5f7fa;
|
|
|
+ border: none;
|
|
|
+ border-radius: 6px;
|
|
|
+ font-weight: 500;
|
|
|
+ box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
|
|
|
+ transition: all 0.3s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background-color: #e9ecef;
|
|
|
+ color: #409eff;
|
|
|
+ box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:active {
|
|
|
+ background-color: #d6d9dc;
|
|
|
+ }
|
|
|
+
|
|
|
+ .anticon {
|
|
|
+ margin-right: 4px;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
/* 内容区域滚动 */
|
|
|
@@ -423,4 +492,115 @@
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+// 帮助文档菜单样式 - 与主菜单保持一致
|
|
|
+.help-layout {
|
|
|
+ .ant-layout-sider .ant-menu {
|
|
|
+ background-color: transparent !important;
|
|
|
+ border-right: none !important;
|
|
|
+
|
|
|
+
|
|
|
+ // 子菜单样式
|
|
|
+ .ant-menu-submenu {
|
|
|
+ .ant-menu-submenu-title {
|
|
|
+ transition: all 0.2s ease !important;
|
|
|
+ margin: 4px 6px !important;
|
|
|
+ border-radius: 6px !important;
|
|
|
+ height: 40px !important;
|
|
|
+ line-height: 40px !important;
|
|
|
+ position: relative;
|
|
|
+ border-left: 3px solid transparent !important;
|
|
|
+ padding-left: 13px !important;
|
|
|
+ padding-right: 8px !important;
|
|
|
+ box-sizing: border-box !important;
|
|
|
+ width: calc(100% - 12px) !important;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background-color: rgba(24, 144, 255, 0.04) !important;
|
|
|
+ color: @primary-color !important;
|
|
|
+ border-left: 3px solid transparent !important; // 悬停时无蓝条
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 子菜单内容区域
|
|
|
+ .ant-menu-sub {
|
|
|
+ background-color: transparent !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 统一处理所有菜单项(包括子菜单项)
|
|
|
+ .ant-menu-item {
|
|
|
+ transition: all 0.2s ease !important;
|
|
|
+ margin: 4px 6px !important;
|
|
|
+ border-radius: 6px !important;
|
|
|
+ height: 40px !important;
|
|
|
+ line-height: 40px !important;
|
|
|
+ position: relative;
|
|
|
+ border-left: 3px solid transparent !important;
|
|
|
+ padding-left: 13px !important;
|
|
|
+ padding-right: 8px !important;
|
|
|
+ box-sizing: border-box !important;
|
|
|
+ width: calc(100% - 12px) !important;
|
|
|
+ max-width: calc(100% - 12px) !important;
|
|
|
+
|
|
|
+ // 子菜单项特殊样式
|
|
|
+ .ant-menu-sub & {
|
|
|
+ margin: 2px 6px 2px 20px !important; // 增加左边距以显示层级
|
|
|
+ height: 36px !important; // 稍微小一点
|
|
|
+ line-height: 36px !important;
|
|
|
+ font-size: 13px !important; // 稍微小一点的字体
|
|
|
+ width: calc(100% - 26px) !important; // 减去增加的左边距
|
|
|
+ }
|
|
|
+
|
|
|
+ // 悬停状态 - 无蓝条
|
|
|
+ &:hover:not(.ant-menu-item-selected) {
|
|
|
+ background-color: rgba(24, 144, 255, 0.04) !important;
|
|
|
+ color: @primary-color !important;
|
|
|
+ border-left: 3px solid transparent !important;
|
|
|
+ padding-left: 13px !important;
|
|
|
+ padding-right: 8px !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 选中状态 - 有蓝条和选中效果
|
|
|
+ &.ant-menu-item-selected {
|
|
|
+ font-weight: 600 !important;
|
|
|
+ color: #1890ff !important;
|
|
|
+ background: linear-gradient(90deg, rgba(24, 144, 255, 0.12) 0%, rgba(24, 144, 255, 0.06) 100%) !important;
|
|
|
+ border-left: 3px solid #1890ff !important;
|
|
|
+ padding-left: 13px !important;
|
|
|
+ padding-right: 8px !important;
|
|
|
+ box-shadow: 0 1px 3px rgba(24, 144, 255, 0.1) !important;
|
|
|
+
|
|
|
+ &::after {
|
|
|
+ display: none !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ background: linear-gradient(90deg, rgba(24, 144, 255, 0.15) 0%, rgba(24, 144, 255, 0.08) 100%) !important;
|
|
|
+ box-shadow: 0 2px 6px rgba(24, 144, 255, 0.15) !important;
|
|
|
+ border-left: 3px solid #1890ff !important;
|
|
|
+ padding-left: 13px !important;
|
|
|
+ padding-right: 8px !important;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ // 图标颜色控制
|
|
|
+ .ant-menu-item, .ant-menu-submenu-title {
|
|
|
+ .anticon {
|
|
|
+ transition: all 0.2s ease;
|
|
|
+ font-size: 16px;
|
|
|
+ }
|
|
|
+
|
|
|
+ &:hover:not(.ant-menu-item-selected) .anticon {
|
|
|
+ color: @primary-color !important;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.ant-menu-item-selected .anticon {
|
|
|
+ color: @primary-color !important;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
|