Files
console-dev/app/assets/styles/InstanceNetwork.CyucZaZp.css
T
cneicy 42dfead9cd
前端验证 / verify (push) Failing after 15m3s
feat(ui): 优化控制台响应式布局与视觉体验
- 统一页面标题、圆角、字体和响应式断点,调整暗色主题及图表配色
- 新增表格列标签插件,在窄屏下将表格转换为卡片布局,优化实例、订单、工单等列表展示
- 支持移动端点击订单行进入详情,并完善订单凭据的打印布局
- 在财务中心展示本月及累计消费,补充充值关闭时的提示
- 优化工单详情布局,将附件上传入口整合至富文本编辑器工具栏
- 调整实例操作按钮、SSH 密钥操作及安全菜单图标
- 为多个页面显式导入 definePageMeta,完善页面元数据声明
2026-11-07 00:09:57 +08:00

166 lines
3.9 KiB
CSS

/* 实例网络信息:键值项、操作列与网络空态。 */
/* 导入方:app/components/instance/InstanceNetwork.vue。 */
.nw[data-v-aa906366] {
flex-direction: column;
gap: 28px;
min-width: 0;
display: flex;
}
.nw[data-v-aa906366] .network-section {
gap: 14px;
min-width: 0;
}
.nw[data-v-aa906366] .network-head {
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
gap: 12px 16px;
min-width: 0;
display: flex;
}
.nw[data-v-aa906366] .network-heading {
align-items: center;
gap: 8px;
display: flex;
}
.nw[data-v-aa906366] .network-head h4 {
margin: 0;
font-size: 1.125rem;
font-weight: 600;
}
.nw[data-v-aa906366] .network-count {
color: var(--p-text-muted-color);
font-size: 1rem;
}
.nw[data-v-aa906366] .network-actions {
flex-wrap: wrap;
justify-content: flex-end;
align-items: center;
gap: 8px;
min-width: 0;
max-width: 100%;
margin-left: auto;
display: flex;
}
.nw[data-v-aa906366] .network-table {
border: 1px solid var(--console-panel-border);
background: var(--console-panel-bg);
border-radius: var(--radius-md);
overflow: hidden;
}
.nw[data-v-aa906366] .network-table.p-datatable .p-datatable-tbody > tr > td,
.nw[data-v-aa906366] .network-table.p-datatable .p-datatable-thead > tr > th {
padding: 12px 14px;
}
.nw[data-v-aa906366] .network-table .p-datatable-tbody > tr:last-child > td {
border-bottom: 0;
}
.nw[data-v-aa906366]
.network-table.p-datatable
.p-datatable-tbody
> .p-datatable-empty-message
> td {
text-align: center;
color: var(--p-text-muted-color);
padding: 24px 14px;
}
.nw[data-v-aa906366] .network-table .empty {
padding: 0;
}
/* 视口条件 (width<768px) 下的响应式覆盖;保留相对基础规则的层叠顺序。 */
@media (width<768px) {
.nw[data-v-aa906366] .network-head {
align-items: flex-start;
}
.nw[data-v-aa906366] .network-actions {
justify-content: flex-start;
margin-left: 0;
}
.nw[data-v-aa906366] .network-head > .network-actions {
flex-basis: 100%;
}
}
.block[data-v-aa906366] {
flex-direction: column;
gap: 14px;
min-width: 0;
display: flex;
}
.block-title[data-v-aa906366] {
margin: 0;
font-size: 1.125rem;
font-weight: 600;
}
.block-desc[data-v-aa906366] {
color: var(--p-text-muted-color, #94a3b8);
margin: 0;
font-size: 1rem;
line-height: 1.7;
}
.kv[data-v-aa906366] {
justify-content: space-between;
align-items: center;
gap: 12px;
font-size: 1rem;
display: flex;
}
.kv > span[data-v-aa906366] {
color: var(--p-text-muted-color, #64748b);
}
/* 允许连续长文本换行,防止IP、密钥或用户输入撑破当前容器;不会修改原始数据。 */
.kv > b[data-v-aa906366] {
overflow-wrap: anywhere;
min-width: 0;
font-weight: 500;
}
.action-cell[data-v-aa906366] {
flex-wrap: wrap;
gap: 8px;
min-width: 0;
display: flex;
}
.action-cell > a[data-v-aa906366],
.action-cell[data-v-aa906366] .p-button {
max-width: 100%;
}
.empty[data-v-aa906366] {
text-align: center;
padding: 20px 0;
}
.empty[data-v-aa906366],
.sub[data-v-aa906366] {
color: var(--p-text-muted-color, #94a3b8);
font-size: 1rem;
}
.info-table[data-v-aa906366] {
border: 1px solid var(--console-panel-border);
box-shadow: var(--console-panel-shadow);
background: var(--console-panel-bg);
border-radius: var(--radius-md);
overflow: hidden;
}
.info-table .kv[data-v-aa906366] {
grid-template-columns: 16.6667% minmax(0, 1fr);
gap: 0;
min-height: 49px;
display: grid;
}
.info-table .kv[data-v-aa906366] > * {
padding: 14px;
}
.info-table .kv[data-v-aa906366]:nth-child(2n) {
background: var(--console-page-bg);
}
.info-table .kv + .kv[data-v-aa906366] {
border-top: 1px solid var(--console-panel-border);
}
.info-table .kv > span[data-v-aa906366] {
font-weight: 600;
}
/* 视口条件 (width<768px) 下的响应式覆盖;保留相对基础规则的层叠顺序。 */
@media (width<768px) {
.info-table .kv[data-v-aa906366] {
grid-template-columns: 100px minmax(0, 1fr);
}
}