fix: 使用 NScrollbar 统一内容区滚动条

This commit is contained in:
GouJ
2026-09-01 16:44:30 +08:00
parent db8c176b55
commit 3fe1b3f5c3
17 changed files with 967 additions and 737 deletions
+134 -28
View File
@@ -123,10 +123,13 @@ body {
.project-tabs .n-tabs-nav {
border: 0;
}
.project-notices {
.project-notices.n-scrollbar {
flex-shrink: 0;
height: auto;
max-height: 100px;
overflow: auto;
overflow: hidden;
}
.project-notices-content {
padding: 8px 24px;
display: grid;
gap: 5px;
@@ -147,12 +150,14 @@ body {
min-height: 0;
overflow: hidden;
}
.workspace-heading {
.workspace-heading-scroll.n-scrollbar {
flex-shrink: 0;
height: auto;
max-height: min(35dvh, 260px);
overflow: hidden;
}
.workspace-heading {
padding: 16px 24px 12px;
max-height: 35%;
overflow: auto;
overscroll-behavior: contain;
}
.workspace-heading h2 {
font-size: 16px;
@@ -189,28 +194,27 @@ body {
margin: 0;
flex-shrink: 0;
}
.workspace-overview {
.workspace-overview.n-scrollbar {
flex-shrink: 0;
max-height: 42%;
overflow: auto;
padding: 10px 14px;
height: auto;
max-height: min(36dvh, 420px);
overflow: hidden;
background: var(--app-surface);
border: 1px solid var(--app-border);
border-radius: 6px;
}
.workspace-feedback {
.overview-scroll-content {
padding: 10px 14px;
}
.workspace-feedback.n-scrollbar {
flex-shrink: 0;
max-height: 24%;
overflow: auto;
height: auto;
max-height: min(24dvh, 160px);
overflow: hidden;
}
.workspace-feedback .n-alert + .n-alert {
margin-top: 8px;
}
.workspace-split > .n-alert {
flex-shrink: 0;
max-height: 24%;
overflow: auto;
}
.script-section {
flex: 1;
display: flex;
@@ -259,11 +263,11 @@ body {
}
.production-shot-list {
max-height: none;
overflow: auto;
overflow: hidden;
min-height: 0;
}
.production-workspace > article {
overflow: auto;
overflow: hidden;
min-height: 0;
overscroll-behavior: contain;
}
@@ -278,7 +282,7 @@ body {
}
.identity-workspace > div {
min-height: 0;
overflow: auto;
overflow: hidden;
overscroll-behavior: contain;
}
.identity-subject-list {
@@ -292,7 +296,7 @@ body {
}
.storyboard-workspace > article,
.storyboard-workspace .shot-list {
overflow: auto;
overflow: hidden;
min-height: 0;
height: 100%;
max-height: none;
@@ -306,7 +310,7 @@ body {
.content-with-history > aside,
.script-page {
min-height: 0;
overflow: auto;
overflow: hidden;
overscroll-behavior: contain;
}
.script-workspace {
@@ -315,6 +319,84 @@ body {
.episode-list {
max-height: none;
min-height: 0;
overflow: hidden;
}
/* 面板只负责尺寸与裁切;滚动和深浅主题滚动条统一交给 Naive UI。 */
.panel-scroll.n-scrollbar {
height: 100%;
min-height: 0;
min-width: 0;
overflow: hidden;
}
.n-scrollbar > .n-scrollbar-container {
overscroll-behavior: contain;
}
.production-shot-list,
.production-detail,
.storyboard-detail,
.shot-list,
.episode-list,
.content-with-history > main {
min-width: 0;
min-height: 0;
}
.script-page,
.history-panel,
.production-shot-list,
.shot-list,
.episode-list {
padding: 0;
}
.production-shot-list-content {
padding-block: 8px;
}
.shot-list-content {
padding: 0 8px 20px;
}
.episode-list-content {
padding: 0 7px 20px;
}
.script-page-content {
padding: 36px 40px;
}
.history-content {
padding: 23px 21px;
}
.production-shot-list-content,
.shot-list-content,
.episode-list-content,
.identity-subject-list-content {
display: flex;
flex-direction: column;
}
.n-button.production-shot-link,
.n-button.shot-link,
.n-button.episode-link,
.n-button.identity-subject-item {
display: flex;
width: 100%;
flex-shrink: 0;
}
.image-history.n-scrollbar,
.table-scroll.n-scrollbar {
height: auto;
overflow: hidden;
}
.image-history-content {
display: flex;
gap: 12px;
padding: 4px 4px 8px;
width: max-content;
}
.code-scroll.n-scrollbar {
height: auto;
max-height: 420px;
overflow: hidden;
}
.code-scroll .json-view,
.code-scroll .storyboard-json {
max-height: none;
overflow: visible;
}
.project-table-area {
flex: 1;
@@ -522,18 +604,39 @@ body {
grid-template-rows: 110px minmax(0, 1fr);
}
.production-shot-list {
display: flex;
overflow-x: auto;
display: block;
overflow: hidden;
height: 110px;
}
.production-shot-link {
flex-shrink: 0;
.production-shot-list-content {
flex-direction: row;
width: max-content;
}
.n-button.production-shot-link {
width: 180px;
min-height: 98px;
}
.identity-workspace {
grid-template-columns: minmax(0, 1fr);
grid-template-rows: 180px minmax(0, 1fr);
gap: 10px;
}
.identity-workspace > aside {
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
grid-template-rows: auto auto minmax(0, 1fr) auto;
gap: 6px 8px;
padding: 10px;
}
.identity-workspace > aside > * {
margin-top: 0;
min-width: 0;
}
.identity-workspace > aside > h3,
.identity-workspace > aside > .identity-subject-list,
.identity-workspace > aside > .n-button {
grid-column: 1 / -1;
}
.storyboard-workspace {
grid-template-columns: 120px minmax(0, 1fr);
}
@@ -545,7 +648,7 @@ body {
grid-template-rows: minmax(0, 1fr) 130px;
}
.history-panel {
overflow: auto;
overflow: hidden;
min-height: 0;
}
.script-workspace {
@@ -560,6 +663,9 @@ body {
width: 100%;
}
.script-page {
padding: 0;
}
.script-page-content {
padding: 18px;
}
.project-search {