该技能是一份关于界面字体排印的实践指南,主题是让界面文字看起来经过主动选择,而不是沿用默认设置。
用途
资料指出,界面大部分内容是文字;如果文字是默认的,界面也会显得是默认的,颜色和动效无法掩盖。该技能用于指导产品界面的字体家族选择、字号尺度、行高、字距、层级、数字样式和字体加载。
主要能力
- 字体家族选择:建议界面使用一个无衬线家族,数据、代码、快捷键和系统感标签使用一个等宽家族,展示字体只用于营销页且只在无衬线无法承担时使用。资料强调项目已有字体家族时应沿用;更换字体会构成重设计,而非修复。产品界面中不超过两个家族,不用装饰字体作正文,不用圆体来“显得友好”。
- 两套字号尺度:产品尺度用于工具、仪表盘、后台和列表,给出页面标题、区块标题、行/正文、次要文字、标签/元信息/等宽文字以及表格数字的字号、字重、行高和字距建议。阅读尺度用于文档、文章和长文案设置,给出 H1、H2、H3、正文和小字的参数,并建议行宽为 55–70 个字符,在文本容器上用 ch 设置最大宽度。
- 不靠字号建立层级:多数屏幕三种字号足够,层级可来自颜色(四级前景色)、字重(400 和 500,标题偶尔 600,界面字体几乎不用 700)、空间,以及大小写和字体家族。
- 行高与字距:行高随字号增大而收紧,并给出 10–12px 到 28px 以上的范围;字距随字号增大而收紧,小号大写标签和等宽标签可略微正字距。正文不使用正字距,小写词不加字距。
- 数字:列中的数字、会变化或需要比较的数字使用等宽数字,并给出 CSS 属性 font-variant-numeric: tabular-nums。标识类值用等宽字体,数量类值用等宽数字的无衬线。
- OpenType 与渲染:建议按字体 specimen 开启合适特性,并给出根元素渲染设置示例。
- 换行与截断:标题使用 text-wrap: balance,段落使用 text-wrap: pretty;单行行使用截断,并注意 flex 子项需要 min-width: 0;卡片描述最多两行;用户需要操作的内容不截断。
- 链接、标签、按钮和输入:正文链接使用下划线并设置偏移和颜色;列表项整行作为链接时不加下划线;按钮和标签使用句首大写;按钮文字在界面中与行名同为 13px/500;触屏输入文字 16px 以避免浏览器缩放;占位符不作为唯一标签。
- 字体加载:自托管或使用框架字体加载器,配合 font-display: swap 和 size-adjust 避免布局偏移;只预加载首屏使用的字重;优先可变字体;回退字体栈匹配度量。
使用方式
资料以规范、表格和 CSS 片段的形式给出可直接参考的排印参数与修复方法。文末还提到 Geist 字体家族、Google Fonts、Pangram Pangram、Klim、ABC Dinamo、Modular Scale、Utopia、Wakamai Fondue 和 Better Web Type 等资源,但未提供安装命令或自动化脚本。
适用场景
适合设计或实现产品界面(工具、仪表盘、后台、列表)以及阅读型界面(文档、文章、长文案设置)的前端与设计工作;也适合用于审查界面排印是否呈现“默认感”,资料列出了五种字号、满屏加粗、标题使用 1.5 行高、表格比例数字、标题孤行、对比度不足的灰字和小写字距等问题的修正方向。
限制
资料未提供具体产品的价格、平台支持、自动化执行方式或安装命令,这些事实暂未提供。资料中的字体与工具仅为参考示例,是否可用需另行确认。