|
@@ -2257,14 +2257,16 @@ const mapDataSourceCredits = computed(() => getDataSourceCredits())
|
|
|
顶栏(压矮:56 设计像素)
|
|
顶栏(压矮:56 设计像素)
|
|
|
============================================================ */
|
|
============================================================ */
|
|
|
/* 顶栏三列:品牌 / 一级模式 / 状态区。
|
|
/* 顶栏三列:品牌 / 一级模式 / 状态区。
|
|
|
- 票 37:右侧状态区改成 `minmax(min-content, 1fr)`,**不再让它被挤到溢出**。
|
|
|
|
|
- 原先写死 `minmax(240px, 1fr)`,`justify-content: flex-end` 在内容超宽时会**向左溢出**到
|
|
|
|
|
- 模式按钮那一列上 —— 票 37 加了一个「返回全球」chip 后正好越界 46px,
|
|
|
|
|
- 实测「归位」压住「预警处置」(x 855–897 vs 799–898)。
|
|
|
|
|
- 改成按内容最小宽度兜底后,列宽随内容长,两个 chip 再多也不会压到模式区。 */
|
|
|
|
|
|
|
+ 票 102:右列的最小宽度从「按内容」改回「按等分」—— **列宽由等分决定,不由内容决定**。
|
|
|
|
|
+ 此前右列按内容最小宽度兜底,于是内容里任何一点宽度变化(时钟秒针的字体长短不平均、
|
|
|
|
|
+ 读数换字、chip 增减)都会改写列宽,把中列菜单推着左右移动
|
|
|
|
|
+ (维护者 2026-11-02 报障:时间一跳,按钮就跟着挪)。
|
|
|
|
|
+ 右列现在吃等分且内容右对齐,内容再变也只在列内挪,碰不到中列。
|
|
|
|
|
+ 票 37 当年担心的「右列内容超宽向左溢出压住模式区」,靠的是三个诊断读数 + 时钟
|
|
|
|
|
+ 一起把右列撑爆;读数已下屏(本票),剩下的内容宽度远小于等分列宽。 */
|
|
|
.cockpit-shell__topbar {
|
|
.cockpit-shell__topbar {
|
|
|
display: grid;
|
|
display: grid;
|
|
|
- grid-template-columns: minmax(240px, 1fr) auto minmax(min-content, 1fr);
|
|
|
|
|
|
|
+ grid-template-columns: minmax(240px, 1fr) auto minmax(0, 1fr);
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
gap: calc(12 * var(--u));
|
|
gap: calc(12 * var(--u));
|
|
|
height: calc(52 * var(--u));
|
|
height: calc(52 * var(--u));
|
|
@@ -2405,6 +2407,13 @@ const mapDataSourceCredits = computed(() => getDataSourceCredits())
|
|
|
gap: calc(4 * var(--u));
|
|
gap: calc(4 * var(--u));
|
|
|
justify-content: center;
|
|
justify-content: center;
|
|
|
position: relative;
|
|
position: relative;
|
|
|
|
|
+ /* 票 102(维护者:菜单栏要在「居中偏左」,在当前位置上略微左移,不与背景装饰线条重合):
|
|
|
|
|
+ 整组平移,不写回列宽 —— 位移只影响这一格自己,不重新参与 grid 分配,
|
|
|
|
|
+ 所以选中态切换、读数变化都改不了按钮位置。
|
|
|
|
|
+ 用 transform 而不是 margin:margin 会把中列让出的空位再分给左右两列,
|
|
|
|
|
+ 等于把「谁推菜单」的裁决权交还给内容;translateX 是纯视觉偏移,几何仍居中。
|
|
|
|
|
+ 32u 是按 1920×1080(--u=1px 档)实测「略微左移」的幅度,与顶栏其余尺寸同一套 --u。 */
|
|
|
|
|
+ transform: translateX(calc(-32 * var(--u)));
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
.cockpit-shell__mode {
|
|
.cockpit-shell__mode {
|
|
@@ -2478,7 +2487,20 @@ const mapDataSourceCredits = computed(() => getDataSourceCredits())
|
|
|
white-space: nowrap;
|
|
white-space: nowrap;
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+/* 票 102(维护者:时间字体长短不平均,秒针一跳按钮就跟着左右挪):
|
|
|
|
|
+ 时钟改为**固定宽度的数字槽位**,槽位内右对齐 + 等宽数字(tabular-nums + tnum 兜底)。
|
|
|
|
|
+ 宽度按 2384×1160 截图实测:`--u` 在该视口 ≈1.433px(0.1235vh),一次读数 `21:22:22`
|
|
|
|
|
+ 的字形跨度 145px ≈ 101u,取 128u(+27% 余量)覆盖「把 1 换成 8」的最宽读数与字体回退
|
|
|
|
|
+ (Rajdhani → Bahnschrift → Segoe,等宽数字不被支持时)—— 槽位只要不吃到内容宽度,
|
|
|
|
|
+ 宽度就恒由这条声明决定:秒针跳动只改槽位内的字形,不再改动任何布局宽度。
|
|
|
|
|
+ flex: 0 0 auto —— 槽位不参与挤压,右列内容再多也不会压缩它。 */
|
|
|
.cockpit-shell__clock {
|
|
.cockpit-shell__clock {
|
|
|
|
|
+ display: inline-block;
|
|
|
|
|
+ flex: 0 0 auto;
|
|
|
|
|
+ min-width: calc(128 * var(--u));
|
|
|
|
|
+ text-align: right;
|
|
|
|
|
+ font-variant-numeric: tabular-nums;
|
|
|
|
|
+ font-feature-settings: 'tnum' 1;
|
|
|
font-family: var(--num);
|
|
font-family: var(--num);
|
|
|
font-size: var(--fs-body, 14px);
|
|
font-size: var(--fs-body, 14px);
|
|
|
letter-spacing: 0.06em;
|
|
letter-spacing: 0.06em;
|