style(前台): 页面整体放大一档,列表不再挤成一团;宽屏上内容居中,不再铺满到两边
Deploy / deploy (push) Canceled after 0s

- index.css 加一张 --oj-* 尺寸表和 .oj-page 外壳,二十几个前台页面改成引用它:
  正文 14→15、页标题 20→24、题目/提交列表行高 40→48、比赛/公告 56、筛选控件 28→34
- 阅读型页面限宽 1200 居中;题目/提交列表 1600、比赛详情 1400、排名 1280、班级 PK 1440
- 1280 宽的筛选条放大后放不下,题目/提交列表在 1366 以下退回 13px 的字
- 班级 PK 五个班起格子里不写「一次 x%」(只剩「一次 8…」);赛跑图线尾的数字不再被截掉
- 手机上比赛列表的「没参加」挪到比赛名下面;题单里「以前做对过 · 旧代码先藏着」缩成「做对过」
- 题目详情页(编辑器)和后台不在这一轮

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
xuyueandClaude Opus 5.5 committed 2026-10-10 12:43:12 +08:00
1 parent 45d79ed366
commit 1e441411a5
43 files changed
+1016 -752

No files matched your search

+18 -15
View File
@@ -368,7 +368,7 @@ function submissionsHref(
<template v-else-if="board">
<!-- 布置题目:投影时收起来 -->
<n-card v-if="!projector" size="small" class="section">
<n-card v-if="!projector" class="section">
<n-flex align="center" :wrap="false">
<n-text strong style="flex-shrink: 0">这节课的题</n-text>
<n-select
@@ -429,7 +429,7 @@ function submissionsHref(
status="success"
:percentage="problem.total ? Math.round((problem.done / problem.total) * 100) : 0"
:show-indicator="false"
:height="projector ? 28 : 10"
:height="projector ? 28 : 12"
/>
<div class="summary-count">{{ problem.done }} / {{ problem.total }} 人做完</div>
</div>
@@ -654,40 +654,42 @@ function submissionsHref(
}
.toolbar {
margin-bottom: 16px;
margin: 8px 0 var(--oj-gap);
}
.title {
margin: 0;
font-size: 20px;
margin: 0 4px 0 0;
font-size: var(--oj-fs-title);
}
.section {
margin-bottom: 16px;
margin-bottom: var(--oj-gap);
}
.meta {
font-size: 13px;
font-size: var(--oj-fs-sec);
}
.summary {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
gap: 12px 24px;
margin-bottom: 16px;
gap: 20px 32px;
margin-bottom: 24px;
}
.summary-title {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
margin-bottom: 4px;
margin-bottom: 6px;
font-size: var(--oj-fs-body);
font-weight: 600;
}
.summary-count {
font-size: 13px;
font-size: var(--oj-fs-sec);
opacity: 0.75;
margin-top: 2px;
margin-top: 4px;
}
.projector .summary {
@@ -702,24 +704,25 @@ function submissionsHref(
.table-wrap {
overflow-x: auto;
margin-top: 8px;
margin-top: 12px;
}
.grid {
border-collapse: collapse;
width: 100%;
font-size: 14px;
font-size: var(--oj-fs-body);
}
.grid th,
.grid td {
padding: 6px 10px;
padding: 10px 12px;
border-bottom: 1px solid rgba(128, 128, 128, 0.15);
text-align: center;
white-space: nowrap;
}
.grid th {
font-size: var(--oj-fs-sec);
font-weight: 500;
opacity: 0.8;
}