Skip to content
使用指南

官网 UI 研究

本轮记录于 2026-09-15,观察明日方舟官网的首页、情报与设定区域。桌面视口为 1280 × 720,竖屏为 390 × 844。结论来自页面视觉、DOM 计算样式和公开 CSS;这不是官方设计规范。

机器可读记录位于仓库的 research/official-site/2026-09-15.json,包含来源 URL、解压后 CSS 的 SHA-256、选择器片段、原始单位与视口测量。散列类名仅用于回溯本轮证据,不作为组件接口。

这轮学到什么

导航的双语层级

桌面导航以窄体英文作为主标签,较小的中文作为补充;当前区域用青色强调。官网声明的英文导航字体是 Oswald-Medium,中文是 SourceHanSans-Medium。这支持为内容索引采用窄体无衬线展示字,而不是将 ak-ui 的粗衬线操作标题规则应用到所有标题。来源:导航 CSS

迁移时按产品的主要语言建立层级。导航使用原生链接和 aria-current="location"(同页区域)或 aria-current="page"(独立页面);选中状态增加下划线或边缘标记,避免只依赖颜色。这是 ak-ui 的适配要求,不是对官网无障碍实现的描述。

新闻行的固定槽位

情报区将分类、日期、标题分开排布,用细分隔线形成列表节奏;标题最多展示两行。桌面日期位于标题上方,竖屏则将日期移到右侧。分类信号、内容与时间各自对齐,比给每条新闻添加卡片阴影更适合快速扫描。来源:情报区域

适合提炼的组件结构为 category + time + title。标题保持完整的链接文本;CSS 截断不应截掉 DOM 内容。窄屏长标题应允许换行,空间不足时将日期放回下一行。

内容目录与页面位置

设定区域使用粗中文标题、较小的英文补充和横向分隔线。右侧页码跟随当前区域变化,承担定位作用。可借鉴为内容目录、章节索引与阅读位置提示;仅在确实存在章节序列时显示编号。来源:设定区域

操作反馈与表面

更多情报入口使用实色矩形;小型更多链接采用灰底浅字,悬停规则切换为白底黑字。这里可复用的是前景与背景同时变化的反馈,而不是为所有按钮添加辉光。来源:页面 CSS

源值与适配角色

以下值来自两份公开 CSS:导航样式页面样式。映射列是 ak-ui 的设计决策;含义相近不代表默认值相同。

观察对象官网源值ak-ui 适配
当前导航#19d1ff局部映射 --ak-signal-info
新闻分类#18d1ff合并到同一个信息信号角色
新闻文字#d2d2d2--ak-text-secondary,结合实际背景检查可读性
新闻行分隔线1px solid hsla(0,0%,100%,.3)线宽用 --ak-line-hairline;颜色作为局部变量
英文/中文导航字号1.375rem / .875rem学习比例,不直接替换全局字号
日期字体与字距Bender-Regular / 1px使用 --ak-font-mono 的数据角色;不要求相同字体
标题字距2px仅短标签考虑加宽,长标题保持易读
桌面新闻行高度6rem改为最小高度,让内容决定最终高度
更多链接背景#585858组件局部表面变量
更多链接颜色过渡.3s使用现有 --ak-motion-base,无需新增近似时长

#18d1ff#19d1ff 的差异不足以证明两套语义。当前证据也不能推导成功、危险、警告色,更不能证明现有黄色操作 token 来自官网。

尺寸与响应式证据

测量项(CSS px)1280 × 720390 × 844
新闻行高度6459.27
新闻标题字号1210.4
日期字号10.678.32

官网使用缩放后的 rem,竖屏实测根字号为 8.32px,并通过 @media (orientation: portrait) 重组布局:新闻行从 6rem 改为 7.125rem,内容容器使用 row-reverse,日期位于右侧。竖屏还将主图放到列表上方,导航折叠为菜单。来源:页面 CSS

因此不能把源值 6rem 理解为固定 96px,也不应把这些偏小的实测字号直接作为通用组件默认值。ak-ui 应保留用户根字号、至少 44px 的交互目标,并根据内容是否放得下选择断点。

可复用的组件契约

这些是待实现或供项目自有组件使用的模式,不是新增的 CSS Core / Registry API。

模式部件必需状态与行为Token 映射
双语导航项主标签、补充标签、当前标记链接、当前、悬停、键盘焦点sans、info、focus、space
新闻条目分类、时间、标题、分隔线完整链接文本、换行、焦点text、info、hairline、density
内容索引项标题、补充名、分隔线链接或展开按钮,按实际行为选择command 或 sans、text、line
更多入口动作文本、方向图标前景/背景反馈、焦点、减少动态效果surface、text、motion、focus
章节位置当前章节、总数、名称随真实位置同步;提供文字含义data、mono、info

局部组件 Token 配方

下例用于项目自有新闻列表。--bulletin-* 是示例的局部变量,不属于公开 --ak-* 契约。数值是为了可读性做的适配,不是官网提取值。

css
.bulletin {
  --bulletin-divider: color-mix(in srgb, var(--ak-text-primary) 30%, transparent);
  --bulletin-row-min-height: 4.5rem;
  --bulletin-category-width: 3rem;
  color: var(--ak-text-primary);
  background: var(--ak-surface-canvas);
}

.bulletin__item {
  display: grid;
  grid-template-columns: var(--bulletin-category-width) minmax(0, 1fr);
  align-items: center;
  gap: var(--ak-space-4);
  min-height: max(var(--ak-density-control-height), var(--bulletin-row-min-height));
  padding-block: var(--ak-space-3);
  border-bottom: var(--ak-line-hairline) solid var(--bulletin-divider);
  color: inherit;
  text-decoration: none;
}

.bulletin__category { color: var(--ak-signal-info); }
.bulletin__title { overflow-wrap: anywhere; }
.bulletin__time {
  color: var(--ak-text-secondary);
  font-family: var(--ak-font-mono);
}
.bulletin__item:hover .bulletin__title { text-decoration: underline; }
.bulletin__item:focus-visible {
  outline: var(--ak-focus-width) solid var(--ak-focus-color);
  outline-offset: var(--ak-focus-offset);
}

结构使用原生 <a class="bulletin__item">,其中放分类和内容容器,内容容器内放 <time datetime="…"> 与完整标题。不要给整行添加裁切,以免隐藏焦点轮廓。

本轮边界

记录不包含官方素材或字体文件,也没有修改现有公开 token 默认值。字体名称是 CSS 声明,不代表已验证每个字形的实际字体。悬停色与时长通过源码确认,未完整验证动效播放、键盘流程、所有菜单状态或其他页面。

后续实现优先考虑新闻条目与双语导航;先在真实组件中验证可读性、状态和响应式,再决定是否提升为稳定公开 token。继续遵循 Token 契约设计语言

已落地的组件

研究后的第一轮实现采用 system 强度,保持现有全局 token 和组件默认行为:

  • ak-news-list 新闻列表:独立的内容列表,含空状态和容器响应式布局。
  • ak-nav 链接导航:原生链接、主副标签、当前标记;竖排变体同时承担内容目录。
  • 更多操作、计数和面板切换继续复用 Button、Counter、Tabs。

新增组件只进入 CSS Core;本页上方的原始观察和 --bulletin-* 配方保留为研究证据,正式使用以组件文档为准。

Unofficial ak-ui design language study.