621 lines
13 KiB
CSS
621 lines
13 KiB
CSS
.library-toolbar {
|
|
justify-content: flex-start;
|
|
gap: 16px;
|
|
min-height: 64px;
|
|
padding: 12px 0 !important;
|
|
flex-wrap: wrap;
|
|
}
|
|
.drama-filters {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
/* 允许收缩并换行:窄窗口下筛选控件排到第二行,而不是被挤出可视区 */
|
|
flex: 1 1 auto;
|
|
min-width: 0;
|
|
flex-wrap: wrap;
|
|
}
|
|
.drama-filters > .el-date-editor {
|
|
width: 360px;
|
|
max-width: 100%;
|
|
}
|
|
.drama-filters > .el-input {
|
|
width: 300px !important;
|
|
flex: 0 0 300px !important;
|
|
}
|
|
.drama-filters > .el-select {
|
|
width: 160px !important;
|
|
flex: 0 0 160px !important;
|
|
}
|
|
.table-result-count {
|
|
margin-left: auto;
|
|
color: #858b95;
|
|
font-size: 13px;
|
|
white-space: nowrap;
|
|
}
|
|
.table-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 8px;
|
|
white-space: nowrap;
|
|
flex-wrap: nowrap;
|
|
}
|
|
.table-actions .el-button {
|
|
/* 统一尺寸:高度固定、水平内边距,靠行高垂直居中,避免文字被压扁 */
|
|
height: 28px !important;
|
|
min-height: 28px !important;
|
|
padding: 0 10px !important;
|
|
font-size: 13px !important;
|
|
font-weight: 500 !important;
|
|
border-radius: var(--app-radius-sm);
|
|
}
|
|
|
|
/* Element Plus 默认给相邻按钮加 12px 外边距,会和这里的 gap 叠加导致换行 */
|
|
.table-actions .el-button + .el-button {
|
|
margin-left: 0 !important;
|
|
}
|
|
.drama-cell .drama-cover,
|
|
.drama-cell .drama-cover-image {
|
|
width: 44px;
|
|
height: 56px;
|
|
flex: 0 0 44px;
|
|
border-radius: var(--app-radius-sm);
|
|
object-fit: cover;
|
|
}
|
|
.drama-cell .drama-cover {
|
|
display: grid;
|
|
place-content: center;
|
|
text-align: center;
|
|
font-size: 10px;
|
|
line-height: 1.3;
|
|
color: #7e8791;
|
|
background: #f0f2f4 !important;
|
|
}
|
|
|
|
/* 名称列只放封面 + 标题,长标题在格子里换行,不撑破单元格 */
|
|
.drama-cell > div {
|
|
min-width: 0;
|
|
}
|
|
.drama-cell b {
|
|
overflow-wrap: anywhere;
|
|
}
|
|
|
|
/* 空值占位,弱化显示 */
|
|
.table-empty-text {
|
|
color: #a8aeb8;
|
|
font-size: 13px;
|
|
}
|
|
|
|
/* 短剧编辑弹窗:固定宽度、内容区滚动、底部操作固定。 */
|
|
.drama-editor-dialog {
|
|
display: flex;
|
|
max-height: calc(100vh - 40px);
|
|
overflow: hidden;
|
|
flex-direction: column;
|
|
border-radius: var(--app-radius-lg) !important;
|
|
}
|
|
|
|
.drama-editor-dialog .el-dialog__body {
|
|
flex: 1 1 auto;
|
|
padding: 8px 24px 0;
|
|
overflow-y: auto;
|
|
}
|
|
|
|
.drama-editor-dialog .el-dialog__footer {
|
|
flex: 0 0 auto;
|
|
padding: 14px 24px;
|
|
background: var(--el-bg-color-overlay);
|
|
border-top: 1px solid var(--el-border-color-lighter);
|
|
}
|
|
|
|
.drama-editor-dialog .el-dialog__footer .el-button {
|
|
min-width: 88px;
|
|
height: 36px;
|
|
}
|
|
|
|
.editor-section {
|
|
padding: 4px 0 18px;
|
|
border-bottom: 1px solid var(--el-border-color-lighter);
|
|
}
|
|
|
|
.editor-section + .editor-section {
|
|
padding-top: 18px;
|
|
}
|
|
|
|
.editor-section:last-child {
|
|
padding-bottom: 4px;
|
|
border-bottom: 0;
|
|
}
|
|
|
|
.editor-section-title {
|
|
margin: 0 0 14px;
|
|
color: var(--el-text-color-primary);
|
|
font-size: 15px;
|
|
font-weight: 650;
|
|
line-height: 1.4;
|
|
}
|
|
|
|
.editor-grid {
|
|
display: grid;
|
|
gap: 0 16px;
|
|
}
|
|
|
|
.editor-grid--two {
|
|
grid-template-columns: repeat(2, minmax(0, 1fr));
|
|
}
|
|
|
|
.editor-number {
|
|
width: 180px !important;
|
|
}
|
|
|
|
.cover-editor {
|
|
display: flex;
|
|
gap: 18px;
|
|
align-items: flex-start;
|
|
}
|
|
|
|
.cover-preview-card {
|
|
position: relative;
|
|
display: grid;
|
|
flex: 0 0 96px;
|
|
width: 96px;
|
|
height: 128px;
|
|
overflow: hidden;
|
|
border: 1px solid var(--el-border-color);
|
|
border-radius: 8px;
|
|
background: var(--el-fill-color-lighter);
|
|
}
|
|
|
|
.cover-preview-card img {
|
|
position: absolute;
|
|
inset: 0;
|
|
display: block;
|
|
width: 100%;
|
|
height: 100%;
|
|
max-height: 100%;
|
|
object-fit: cover;
|
|
}
|
|
|
|
.cover-preview-empty {
|
|
display: flex;
|
|
height: 100%;
|
|
color: var(--el-text-color-placeholder);
|
|
font-size: 12px;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 8px;
|
|
border: 1px dashed var(--el-border-color);
|
|
border-radius: 8px;
|
|
}
|
|
|
|
.cover-upload-mask {
|
|
position: absolute;
|
|
inset: 0;
|
|
display: flex;
|
|
color: #fff;
|
|
font-size: 12px;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
justify-content: center;
|
|
gap: 4px;
|
|
background: color-mix(in srgb, var(--el-color-primary) 78%, transparent);
|
|
}
|
|
|
|
.cover-upload-mask b {
|
|
font-size: 16px;
|
|
}
|
|
|
|
.cover-editor-meta {
|
|
display: flex;
|
|
flex: 1 1 auto;
|
|
min-width: 0;
|
|
flex-direction: column;
|
|
gap: 10px;
|
|
}
|
|
|
|
.cover-status-line {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
min-width: 0;
|
|
}
|
|
|
|
.cover-filename {
|
|
overflow: hidden;
|
|
color: var(--el-text-color-regular);
|
|
font-size: 13px;
|
|
text-overflow: ellipsis;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
.cover-hint {
|
|
margin: 0;
|
|
color: var(--el-text-color-secondary);
|
|
font-size: 12px;
|
|
}
|
|
|
|
.cover-actions {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
flex-wrap: wrap;
|
|
}
|
|
|
|
.cover-actions .el-button {
|
|
height: 36px;
|
|
}
|
|
|
|
.cover-original-link {
|
|
color: var(--el-color-primary);
|
|
font-size: 13px;
|
|
text-decoration: none;
|
|
}
|
|
|
|
.cover-original-link:hover {
|
|
text-decoration: underline;
|
|
}
|
|
|
|
@media (max-width: 600px) {
|
|
.drama-editor-dialog {
|
|
width: calc(100vw - 24px) !important;
|
|
margin: 12px auto !important;
|
|
}
|
|
|
|
.drama-editor-dialog .el-dialog__body {
|
|
padding-right: 18px;
|
|
padding-left: 18px;
|
|
}
|
|
|
|
.editor-grid--two {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
|
|
.cover-editor {
|
|
flex-direction: column;
|
|
align-items: center;
|
|
}
|
|
|
|
.cover-preview-card {
|
|
flex-basis: 128px;
|
|
}
|
|
|
|
.cover-editor-meta {
|
|
width: 100%;
|
|
}
|
|
}
|
|
|
|
html.dark .cover-preview-card,
|
|
html.dark .cover-preview-empty {
|
|
background: var(--el-fill-color-light);
|
|
}
|
|
|
|
/* 编辑弹窗里的视频预览 */
|
|
.video-field {
|
|
display: flex;
|
|
gap: 12px;
|
|
align-items: flex-start;
|
|
width: 100%;
|
|
}
|
|
.video-field-actions {
|
|
flex: 1 1 auto;
|
|
min-width: 0;
|
|
}
|
|
.form-video-preview {
|
|
display: block;
|
|
width: 200px;
|
|
height: 112px;
|
|
flex: 0 0 200px;
|
|
object-fit: contain;
|
|
border: 1px solid var(--el-border-color-lighter);
|
|
border-radius: var(--app-radius-md);
|
|
background: #000 !important;
|
|
}
|
|
|
|
/* 剧集预览弹窗里的播放器 */
|
|
.episode-video-player {
|
|
display: block;
|
|
width: 100%;
|
|
max-height: 60vh;
|
|
object-fit: contain;
|
|
border-radius: var(--app-radius-md);
|
|
background: #000 !important;
|
|
}
|
|
|
|
/* 剧集列表里的视频缩略播放器:默认显示首帧,鼠标移入即播放 */
|
|
.episode-video-thumb {
|
|
display: block;
|
|
width: 120px;
|
|
height: 68px;
|
|
object-fit: contain;
|
|
cursor: pointer;
|
|
border: 1px solid var(--el-border-color-lighter);
|
|
border-radius: var(--app-radius-sm);
|
|
background: #000 !important;
|
|
}
|
|
|
|
/* 列表里点视频即放大播放,给个悬停反馈 */
|
|
.episode-video-thumb:hover {
|
|
border-color: var(--el-color-primary);
|
|
box-shadow: 0 0 0 2px color-mix(in srgb, var(--el-color-primary) 25%, transparent);
|
|
}
|
|
.dark .table-result-count {
|
|
color: #a6aeb9;
|
|
}
|
|
.dark .drama-cell .drama-cover {
|
|
background: #353b45 !important;
|
|
color: #b9c1cb;
|
|
}
|
|
@media (max-width: 800px) {
|
|
.drama-filters > .el-input {
|
|
width: min(300px, 45vw) !important;
|
|
flex-basis: min(300px, 45vw) !important;
|
|
}
|
|
.drama-filters > .el-select {
|
|
width: 150px !important;
|
|
flex-basis: 150px !important;
|
|
}
|
|
.table-result-count {
|
|
display: none;
|
|
}
|
|
}
|
|
.drama-el-table,
|
|
.dashboard-el-table {
|
|
width: 100%;
|
|
font-size: 13px;
|
|
--el-table-header-bg-color: #f7f8fa;
|
|
--el-table-border-color: #eaecf0;
|
|
--el-table-row-hover-bg-color: #f8fafc;
|
|
}
|
|
.drama-el-table .el-table__cell,
|
|
.dashboard-el-table .el-table__cell {
|
|
padding: 14px 0;
|
|
}
|
|
.drama-el-table th.el-table__cell,
|
|
.dashboard-el-table th.el-table__cell {
|
|
font-size: 12px;
|
|
font-weight: 600;
|
|
color: #737b85;
|
|
}
|
|
.drama-el-table td.el-table__cell,
|
|
.dashboard-el-table td.el-table__cell {
|
|
font-size: 13px;
|
|
color: #505862;
|
|
}
|
|
.drama-el-table .cell,
|
|
.dashboard-el-table .cell {
|
|
line-height: 1.5;
|
|
}
|
|
.drama-el-table .el-table__inner-wrapper:before,
|
|
.dashboard-el-table .el-table__inner-wrapper:before {
|
|
height: 0;
|
|
}
|
|
.dark .drama-el-table,
|
|
.dark .dashboard-el-table {
|
|
--el-table-header-bg-color: #2b3038;
|
|
--el-table-tr-bg-color: #242830;
|
|
--el-table-bg-color: #242830;
|
|
--el-table-border-color: #3b414b;
|
|
--el-table-row-hover-bg-color: #2e3540;
|
|
--el-table-text-color: #c0c6cf;
|
|
--el-table-header-text-color: #b1b8c2;
|
|
}
|
|
.dark .drama-el-table td.el-table__cell,
|
|
.dark .dashboard-el-table td.el-table__cell {
|
|
color: #c0c6cf;
|
|
}
|
|
.table-actions .el-button--primary {
|
|
--el-button-bg-color: var(--el-color-primary);
|
|
--el-button-border-color: var(--el-color-primary);
|
|
--el-button-hover-bg-color: var(--el-color-primary-dark-2);
|
|
--el-button-hover-border-color: var(--el-color-primary-dark-2);
|
|
}
|
|
.table-actions .el-button--success {
|
|
--el-button-bg-color: #4d866a;
|
|
--el-button-border-color: #4d866a;
|
|
--el-button-hover-bg-color: #3c7358;
|
|
--el-button-hover-border-color: #3c7358;
|
|
}
|
|
.table-actions .el-button--danger {
|
|
--el-button-bg-color: var(--el-color-danger);
|
|
--el-button-border-color: var(--el-color-danger);
|
|
--el-button-hover-bg-color: var(--el-color-danger-dark-2);
|
|
--el-button-hover-border-color: var(--el-color-danger-dark-2);
|
|
}
|
|
.pagination {
|
|
display: flex;
|
|
justify-content: flex-end;
|
|
align-items: center;
|
|
padding: 18px 0 4px !important;
|
|
overflow-x: auto;
|
|
}
|
|
.pagination .el-pagination {
|
|
font-size: 13px !important;
|
|
--el-pagination-font-size: 13px;
|
|
--el-pagination-button-bg-color: #f1f3f6;
|
|
--el-pagination-hover-color: var(--el-color-primary);
|
|
--el-pagination-button-color: #4c5561;
|
|
gap: 5px;
|
|
}
|
|
.pagination .el-pagination__sizes {
|
|
margin-right: 8px;
|
|
}
|
|
.pagination .el-select {
|
|
width: 112px;
|
|
}
|
|
.pagination .el-pagination__jump {
|
|
margin-left: 8px;
|
|
white-space: nowrap;
|
|
}
|
|
.dark .pagination .el-pagination {
|
|
--el-pagination-button-bg-color: #353b45;
|
|
--el-pagination-button-color: #c3cad3;
|
|
}
|
|
.drama-el-table td.el-table__cell,
|
|
.drama-el-table th.el-table__cell {
|
|
font-size: 14px;
|
|
}
|
|
.drama-cell b {
|
|
font-size: 15px;
|
|
}
|
|
.drama-cell small {
|
|
font-size: 13px;
|
|
}
|
|
.table-result-count {
|
|
font-size: 14px;
|
|
}
|
|
.library-toolbar .el-input__inner,
|
|
.library-toolbar .el-select__placeholder {
|
|
font-size: 14px;
|
|
}
|
|
.pagination .el-pagination {
|
|
font-size: 14px !important;
|
|
--el-pagination-font-size: 14px;
|
|
}
|
|
.el-message-box__title,
|
|
.el-message-box__message {
|
|
font-size: 15px;
|
|
}
|
|
.el-message-box__btns .el-button {
|
|
font-size: 14px;
|
|
}
|
|
.episode-toolbar {
|
|
margin-bottom: 16px;
|
|
}
|
|
.episode-el-table {
|
|
margin-top: 4px;
|
|
}
|
|
.episode-table-title b,
|
|
.episode-table-title small {
|
|
display: block;
|
|
}
|
|
.episode-table-title b {
|
|
font-size: 14px;
|
|
color: #343a43;
|
|
}
|
|
.episode-table-title small {
|
|
margin-top: 4px;
|
|
font-size: 13px;
|
|
color: #858b95;
|
|
}
|
|
.dark .episode-table-title b {
|
|
color: #e5e8ed;
|
|
}
|
|
.dark .episode-table-title small {
|
|
color: #a6aeb9;
|
|
}
|
|
.menu-management-panel {
|
|
margin-top: 20px;
|
|
}
|
|
.menu-management-panel .panel-heading {
|
|
display: flex;
|
|
align-items: center;
|
|
justify-content: space-between;
|
|
gap: 16px;
|
|
}
|
|
.menu-management-panel .el-alert {
|
|
margin-top: 4px;
|
|
}
|
|
.menu-management-panel .el-select {
|
|
width: 100%;
|
|
}
|
|
.admin-user-search {
|
|
width: min(440px, 65vw);
|
|
}
|
|
.muted-text {
|
|
font-size: 13px;
|
|
color: #9298a1;
|
|
}
|
|
.role-permission-layout {
|
|
display: grid;
|
|
grid-template-columns: minmax(520px, 1.25fr) minmax(340px, 0.9fr);
|
|
gap: 18px;
|
|
align-items: start;
|
|
}
|
|
.role-table-panel,
|
|
.permission-tree-panel {
|
|
min-width: 0;
|
|
}
|
|
.role-config-table .el-table__row {
|
|
cursor: pointer;
|
|
}
|
|
.permission-tree-panel .el-tree {
|
|
max-height: 68vh;
|
|
overflow: auto;
|
|
padding: 5px 8px;
|
|
}
|
|
.permission-tree-panel .el-tree-node__label {
|
|
font-size: 14px;
|
|
}
|
|
.permission-warning {
|
|
color: #d66b4f !important;
|
|
}
|
|
.admin-users-panel {
|
|
overflow: hidden;
|
|
}
|
|
.admin-user-toolbar {
|
|
display: flex;
|
|
align-items: center;
|
|
gap: 10px;
|
|
flex-wrap: wrap;
|
|
padding: 0 0 16px;
|
|
}
|
|
.admin-user-toolbar > .el-input {
|
|
width: 230px;
|
|
}
|
|
.admin-user-toolbar > .el-select {
|
|
width: 190px;
|
|
}
|
|
/* 管理员表格不设最小宽度:列宽超出容器时由 el-table 自行横向滚动,
|
|
否则会把固定列顶到可视区之外 */
|
|
.menu-editor-layout {
|
|
display: grid;
|
|
grid-template-columns: minmax(270px, 0.7fr) minmax(520px, 1.5fr);
|
|
gap: 18px;
|
|
align-items: start;
|
|
}
|
|
.menu-tree-panel,
|
|
.menu-form-panel {
|
|
min-width: 0;
|
|
}
|
|
.menu-tree-panel .el-tree {
|
|
max-height: 70vh;
|
|
overflow: auto;
|
|
}
|
|
.menu-form-panel .panel-heading {
|
|
display: flex;
|
|
justify-content: space-between;
|
|
align-items: center;
|
|
}
|
|
.menu-editor-form {
|
|
max-width: 680px;
|
|
padding: 16px 12px 0;
|
|
}
|
|
.menu-editor-form .el-input,
|
|
.menu-editor-form .el-select {
|
|
max-width: 360px;
|
|
width: 100%;
|
|
}
|
|
.menu-editor-form .el-textarea {
|
|
max-width: 360px;
|
|
}
|
|
.menu-editor-form .el-input-number {
|
|
width: 180px;
|
|
}
|
|
.menu-form-footer {
|
|
padding: 12px 0 4px 122px;
|
|
border-top: 1px solid #eceef0;
|
|
}
|
|
.dark .menu-form-footer {
|
|
border-color: #3b414b;
|
|
}
|
|
@media (max-width: 1150px) {
|
|
.role-permission-layout,
|
|
.menu-editor-layout {
|
|
grid-template-columns: 1fr;
|
|
}
|
|
.permission-tree-panel .el-tree,
|
|
.menu-tree-panel .el-tree {
|
|
max-height: 45vh;
|
|
}
|
|
}
|