Skip to content

系统组件留白与区域分配 ​

参考图的使用范围 ​

仓库中的五张参考图是原始 PNG,文件尺寸均为 1368 × 2432 像素。Read Pico 的竖屏基准画布为 684 × 1216 物理像素;这组图按宽、高各 2 倍导出。只在读取原始 PNG 文件的像素坐标时,将 x、y、宽、高分别除以 2:例如原图中的矩形 (200, 400, 96, 80) 对应基准画布的 (100, 200, 48, 40)。

聊天窗口、浏览器或文档页面可能再次缩放图片;屏幕上看到的显示尺寸不是原始 PNG 像素,不能直接套用“除以 2”。量取位置时应打开原始文件并以它的像素坐标为准。此换算只统一计量单位,不要求逐像素照搬参考图;本页的布局数值仍按组件约束和可用空间计算。

图中可参考的结构包括:统一左右内容线、当前阅读与最近阅读之间的分组留白、独立排序行、固定宫格单元、整行设置项、底部分页区域,以及少量内容下方的整片空白。本文推荐值是按既有 Token 和可用空间重新计算的布局例子,不宣称已逐像素复原截图。

封面灰底、小字、标题字重和分隔线仍按视觉规范及分隔线例外评审。参考图中的“会员”、应用名、开关和排序项只表达界面结构,不证明产品功能已实现。

区域与留白的职责 ​

概念含义负责方
系统保留区系统栏及其独占交互范围系统
应用画布系统分配的完整绘制矩形系统分配,应用绘制
页面外留白内容线与系统交互区之间的页面布局空间应用布局或系统页面容器
组件内留白图标、文字、控件与组件边界之间的距离组件
组件间距两个同层组件之间的间隔父容器
内容组间距两个不同信息组之间的间隔页面布局
容量余量为完整条目、行高或固定槽位留下的剩余空白排版结果

同一段间距只由一处管理。例如标题容器已提供 16 px 到内容的间隔,内容容器不要再添加同名的 16 px。组件报告自身完整尺寸,父容器据此计算分页,不只报告图标或文字的可见尺寸。

留白以布局框之间的距离计算。字体字面与行框、图标路径与图标槽位之间还可能有内部空白;不能通过裁掉行高或放大图标来强行消除它们。

三栏齐全时建议内容区仍为 (36, 120, 612, 1000),系统几何见系统栏与应用画布。应用画布从 y=104 开始,建议内容从 y=120 开始;底部内容止于 y=1120,为系统底栏热区留出空间。这里的上下留白不改变系统分配的画布,也不在屏幕底部再次叠加安全区。

推荐留白表(补充建议) ​

以下数值用于常规组件,实际排版可按字号、内容与系统返回区域调整。动态均分所得的列宽、间距和余量可以是其他整数,不把它们新增为全局 Token。

场景推荐值使用说明
正文内容线左右各 36 px页面容器提供;子组件不重复扣减
组内主标签与副信息8–12 px相同信息组保持关联,不随页面高度拉大
图标与标签12–16 px(上下)、24–32 px(左右)使用统一槽位,避免每行文字起点漂移
列表行内上下留白各 16–24 px与文字行高共同决定完整行高
普通内容组之间24–32 px不同时叠加两个容器的边距
大区块之间48–64 px只用于明显分组,不在每条列表项间使用
工具 / 排序行到列表或宫格24 px 起工具行自身热区另算,不能只看文字高度
宫格列间距默认 24 px,或按封面尺寸动态计算同页一致,余数差不超过 1 px
宫格行间距24–32 px单元内部图标与名称的间隔另算
内容到分页控件16–32 px先给分页控件预留完整槽位
小组件标题到内容16 px沿用宿主基准布局,不由小组件再加一次

标题栏后默认按建议内容区保留 16 px。页面需要额外呼吸空间时,可在内容区内选择 24 或 48 px 的顶部留白;这应参与容量计算,而不是把所有应用的系统画布整体下移。

设置行与分页列表 ​

参考图 4 和图 5 展示同一设置列表语言:有图标时,主标签使用统一的文字起点;无图标的详情页从 x=36 内容线开始。尾部箭头、开关或当前值靠右对齐,并给标签保留明确的宽度。

Read Pico 当前设置根页与阅读设置页的行槽均为 96 px,高度之外另留 16 px 项间距,因此相邻行起点相距 112 px。其他列表仍应按字形与内容计算完整行高,不把这一组坐标推广为所有 PagedList 的固定值。

部分Read Pico 当前设置行布局
根页前导图标48 × 48 px,行内垂直居中,左边沿 x=36
图标到主文字36 px;主文字从 x=120 开始
主标签36 px、44 px 行框、Medium 500
根页副信息24 px、32 px 行框、Regular 400
主副信息位置两行分别从行顶 8 px 和 54 px 开始,两个行框之间留 2 px
阅读设置尾部箭头36 × 36 px,左边沿 x=612;根页分类行没有该箭头

根页行从 x=36 到 x=648,前导图标占 x=36…84,文字从 x=120 开始;当前绘制给文字组 457 px 宽,不能把“图标到文字 36 px”误算成旧示例的 32 px。阅读设置二级页没有前导图标,文字从 x=36 开始,尾部箭头另占 x=612…648;长标签须在中间剩余宽度内处理。

根页有副信息时,主标签行框覆盖行内 y=8…52,副信息行框覆盖 y=54…86,行内最后留 10 px。只有主标签时,它从行顶 30 px 开始。两种条目均保持 96 px 行槽与 16 px 项间距,不因内容少就把条目拉散。

图 5 只有三个条目,保持正常行高并从上向下排列,剩余空间留白;不要把三项均匀分散到整屏,不把最后一项推到页面底端。可交互的整行区域包含其内留白;列表结束后的空白不成为最后一项的热区。

宫格、排序与分页区域 ​

图 2 和图 3 都将排序行、内容宫格、分页控件分开。建议先分配这些区域,再计算完整行数;不能先塞入宫格,最后把页码压进底栏或临时缩小字号。

图标宫格示例(补充建议) ​

完整 612 px 宽度、3 列、列间距 24 时,每列宽 188 px。每个单元中的图标与名称共同居中,名称预留最多两行的统一高度,不能因单行名称较短就把同页的图标中心移位。

下面是一种能容纳 3×4 的区域分配,数值是布局推导结果:

区域y 范围高度
排序工具行120…16848
工具行后间隔168…19224
图标宫格192…1024832
宫格后间隔1024…104016
可点击分页控件1040…112080

宫格按 4 行、行间距 32 分配,单元高为 (832 − 3 × 32) / 4 = 184 px。示例内容可采用 64 px 图标槽、12 px 图文间距、两行 32 px 名称行高、上下各 16 px 内留白,总需 172 px;剩余 12 px 在单元内分配。64 px 图标只是宫格示例,不改变 App Bar 与底栏的 48 px 图标规范。

长名称、字号放大或不同字体导致单元放不下时,减少完整行数并重新分页;不得裁掉第二行或侵入分页区域。

封面宫格示例(补充建议) ​

为保留图 2 的三列封面与较宽列间留白,可采用 170 px 宽封面槽,列间距为 (612 − 3 × 170) / 2 = 51 px,槽左边缘为 x=36、257、478。51 px 是此布局的动态计算结果,不是新的通用间距 Token。

一个完整 3×3 页可分配为:排序行 48、间隔 24、封面宫格 808、间隔 32、分页区 80、末尾余量 8,总计 1000 px。宫格行间距 32 时,槽高为 (808 − 2 × 32) / 3 = 248 px。

因此宫格从 y=192 到 1000,分页区从 y=1032 到 1112,末尾余量到 1120。封面在 170×248 槽内按比例完整适配;这是容器尺寸,不要求把所有封面拉伸成同一个比例。不能在此尺寸上再机械增加“3×4 第四行”。

分页控件的留白 ​

纯圆点属于非交互指示器,可按原规范预留较小槽位。图 2 和图 3 的“上一页 / 当前页 / 下一页”包含可点击箭头,建议预留完整 80 px 高的交互槽;箭头可见框和页码在槽内对齐,左右按钮热区不覆盖页码或相互重叠。

80 px 已包含上下热区,不在它外面再重复加一个 80 px。组件只占据自己的分页区域,不能侵入 y=1120 起的系统底栏保留区。单页隐藏指示器时可回收它的槽位,但应重新计算本页容量,不能把既有内容随意拉伸填满。

当前阅读与首页小组件 ​

首页沿用首页与小组件中的基准分区:当前阅读高 300、区块间隔 24、小组件标题行高 48、标题到内容间隔 16、小组件内容高 600。

当前阅读内部可采用 170 px 封面槽、48 px 图文间隔、394 px 文字组,合计 612 px。封面按比例完整适配,在 300 px 高度内居中;文字组按“书名 / 作者 / 阅读进度 / 元信息 / 操作提示”组织,组内优先 8–16 px,书名可用 12–24 px 与其他信息区分。标题变为两行时先重算总高度,必要时减少非必要摘要或进入详情。

这里的 48 px 图文间隔是新增推荐,不等同于原 CSS 的 72 px 历史数值。需要其他值时记录理由并计算文字剩余宽度,不凭截图估算硬编码更宽文字框。

宿主已经提供左右 36 px 外边距,小组件的本地宽度是 612 px。标题行的内留白由宿主管理;小组件不再添加统一的 36 px 边距。内部确需留白时,根据自身内容采用 8–24 px,并报告完整尺寸。

图 1 中连续的最近阅读条目可以优先使用 24–32 px 的条目间隔。确有必要使用分隔线时,按有限例外评审,线本身不替代文字组之间的留白,也不改变小组件的 600 px 固定内容高度。

菜单、空状态与容量余量 ​

底部菜单仍最多占屏幕下半部,高度不超过 608 px。建议上下内留白各 16 px;已有底部 16 px 计入菜单容器,不再加一层。按完整条目、条目间距和操作槽计算菜单高度;放不下时分页或进入独立设置页。

空、加载、错误状态放在预先分配的内容区内,可在自身区域居中或沿原内容线排布。建议保留稳定的标题、提示与一个后续动作;不能因为内容变少把控件推入系统保留区,也不通过放大留白把三个状态元素散布到整屏。

剩余空间是完整分页的合法结果。除非明确选择有一致规则的宫格均分,不使用整屏 space-between 拉开正文组内间距;不要用占位卡片、装饰线或循环动画填补空白。

留白与热区验收(补充建议) ​

  • 同一间隔只有一个管理方,未重复添加页面、宿主与组件的边距。
  • 每个布局计算都包括工具行、完整组件、间距、分页槽和余量。
  • 图标槽、文字行框与命中区分别记录,未用裁字或缩放来消除内部空白。
  • 同组文字保持关联;少量条目从上向下排列,下方空白保持非交互。
  • 宫格名称多行时同页高度一致;封面比例、字号和热区均完整。
  • 分页热区包含在自己的槽位内,未侵占系统底栏或其他按钮。
  • 字号放大、无副信息、末页变短和隐藏分页指示器后重新计算容量。
  • 参考图换算使用原始 2 倍尺寸,新增推荐值未冒充截图精确测量或实机结果。

参考图 ​

以下原图保持原始像素内容。展示尺寸由浏览器缩放,规范计算以基准画布为准。

图 1:首页——阅读信息分组与宿主小组件

首页参考图:当前阅读、最近阅读与底部导航

图 2:书库——排序行、封面宫格与独立分页区

书库参考图:三列封面宫格与底部页码

图 3:应用——图标名称单元与宫格行距

应用参考图:三列四行图标与名称

图 4:设置——图文对齐与完整行槽

设置参考图:统一图标槽、主标签和副信息

图 5:阅读设置——少量条目与下方空白

阅读设置参考图:三个条目与页面下方留白

JustRead 项目文档