-
@@ -192,7 +190,7 @@ function onSplitterResize(sizes) {
}
/* 主区面板:四周留 8px 间距(含左侧),与侧栏拉开标准间隙。
- * 折叠态(窄侧栏 48px)左侧归 0,白卡贴侧栏右缘 */
+ * 折叠态(窄侧栏 48px)左侧归 0,避免过窄时两侧都留间隙 */
.fms-main-panel {
padding: 8px;
}
@@ -201,16 +199,6 @@ function onSplitterResize(sizes) {
padding: 8px 8px 8px 0;
}
-/* 侧栏面板:四周留 8px,白色侧栏卡浮在灰底上(与顶栏同一套间距) */
-.fms-sidebar-panel {
- padding: 8px;
- box-sizing: border-box;
-}
-
-.fms-layout.is-collapsed .fms-sidebar-panel {
- padding: 8px 8px 8px 0;
-}
-
/* 覆盖 Splitter 面板默认 overflow: auto(scoped 同名规则特异性更高,需带 .fms-layout 提权),
* 让主卡片左侧阴影完整绘制到侧栏背景上(对齐 old2 的 z-index 效果) */
.fms-layout .fms-splitter-panel.fms-main-panel {
@@ -227,7 +215,8 @@ function onSplitterResize(sizes) {
gap: 8px;
}
-/* 主区:透明容器(不再包白卡),内容区直接坐灰底,页面白卡浮在灰上 */
+/* 主区内容容器:白底承载内容,与透明侧栏(灰底)形成明显区分;
+ * 圆角 + 阴影让白卡在灰底上浮起,层次清晰 */
.fms-main {
display: flex;
flex-direction: column;
@@ -235,9 +224,13 @@ function onSplitterResize(sizes) {
min-width: 0;
min-height: 0;
overflow: hidden;
+ background: var(--fms-card);
+ border-radius: var(--fms-control-radius);
+ box-shadow: var(--fms-shadow);
}
-/* 内容区:透明,灰底由 .fms-layout 提供(页面白卡直接浮在灰上) */
+/* 内容区:白卡内滚动区,顶部由 .fms-tabs 的底边线分隔。
+ * flex column:让页面根可用 flex:1 撑满可视高度(百分比高度链在滚动容器内不可靠) */
.fms-content {
flex: 1;
min-height: 0;
diff --git a/code/fms/fms-vue/src/layouts/components/AppSidebar.vue b/code/fms/fms-vue/src/layouts/components/AppSidebar.vue
index 06e758c8..781b1bf6 100644
--- a/code/fms/fms-vue/src/layouts/components/AppSidebar.vue
+++ b/code/fms/fms-vue/src/layouts/components/AppSidebar.vue
@@ -152,16 +152,12 @@ function toNavItem(node) {