Windows 应用中的版式
作为语言的视觉表示形式,版式的主要任务是传达信息。 它的样式应永远不妨碍该目标。 本文介绍如何在 Windows 应用中设计版式以帮助用户轻松高效地了解内容。
字体
应用的全部 UI 应使用同一种字体,建议始终使用 Windows 应用的默认字体 Segoe UI Variable。 其设计目的是为保持不同字体大小和像素密度下的最佳可读性,并提供可润色系统内容的清晰、明朗的美学效果。
若要在应用上显示非英语语言或为应用选择另一种字体,请参阅语言和字体,了解我们推荐的 Windows 应用字体。
为 UI 选择一个字体。
不要混合多个字体。
可变字体轴
Segoe UI Variable 字体包含两个轴,用于更精细地控制文本。 此字体有一个粗细轴 (wght
),粗细从细 (100) 到粗 (700)。 它还有一个光学尺寸轴 (opsz
),支持从 8pt 到 36pt 的光学缩放。 使用 XAML 通用控件时,默认情况下会为支持的语言选择 Segoe UI Variable 字体。 使用此字体或其他带有光轴的可变字体时,光学尺寸将自动匹配请求的字体大小。 使用 HTML 时,也会自动进行光学缩放,但需要在 CSS 中指定 Segoe UI Variable 字体。
大小和缩放
UWP 应用中的字号可在所有设备上自动缩放。 该缩放算法确保可从 10 英尺远处识别 Surface Hub 上高 24 像素的字体,正如从几英寸远处识别 5 英寸手机上高 24 像素的字体。
因系统缩放的工作原理,设计时采用的是有效像素而非实际物理像素,所以不必更改字体大小来适应不同尺寸的屏幕的分辨率。
按照 Windows 类型渐变 大小调整。
不要使用小于 12 像素的字号。
层次结构
用户在扫描页面时依赖于视觉层次结构:标题用于总结内容,正文文本用于提供更多详细信息。 若要在应用中创建清晰的视觉层次结构,请遵循 Windows 字体渐变。
类型渐变
Windows 字体渐变可在页面上的字型之间建立关键关系,帮助用户轻松阅读内容。 所有大小均以有效像素为单位,并针对所有设备上运行的 UWP 应用进行了优化。
有关更多详细信息,请查看有关使用 XAML 字体渐变的指南。
对齐
默认 TextAlignment 是左对齐,在大多数情况下,左边对齐但右边不对齐可提供一致的内容编排效果和统一的布局。 有关 RTL 语言,请参阅调整布局和字体以支持全球化。
<TextBlock TextAlignment="Left">
字符计数
保持每行 50–60 个字母,以方便阅读。
不要使用少于 20 个字符或每行 60 个字符,因为很难阅读。
剪裁和省略号
当文本数量超出可用空间时,建议剪裁文本并插入省略号 [...],这是大多数 UWP 文本控件的默认行为。
<TextBlock TextWrapping="WrapWholeWords" TextTrimming="Clip"/>
剪辑文本,并在启用多行时换行。
不要使用省略号来避免视觉混乱。
注意
如果未对容器进行完善定义(例如,不区分背景颜色),或者存在用于查看更多文本的链接,则使用省略号。
语言
Segoe UI Variable 是用于英语、欧洲语言、希腊语和俄语的字体。 对于其他语言,请参阅以下建议。
全球化/本地化字体
使用 LanguageFont 字体映射 API 以编程方式访问特定语言的建议字体系列、大小、粗细和样式。 LanguageFont 对象提供对各种类别内容的正确字体信息的访问权限,包括 UI 标头、通知、正文文本和用户可编辑的文档正文字体。 有关详细信息,请参阅 调整布局和字体以支持全球化。
非拉丁语言的字体
字体系列 | 样式 | 备注 |
---|---|---|
Ebrima | 常规、粗体 | 非洲语言脚本的用户界面字体(阿德拉姆文、埃塞俄比亚文、西非书面文、索马里文、提芬纳格文、瓦伊文)。 |
Gadugi | 常规、粗体 | 北美语言脚本的用户界面字体(加拿大音节文字、切罗基语、奥塞治文)。 |
Leelawadee UI | 常规、半光、粗体 | 东南亚语言脚本的用户界面字体(布吉斯语、高棉语、老挝语、泰语)。 |
Malgun Gothic | 常规 | 适用于朝鲜语的用户界面字体。 |
Microsoft JhengHei UI | 常规、粗体、浅色 | 繁体中文的用户界面字体。 |
Microsoft YaHei UI | 常规、粗体、浅色 | 简体中文的用户界面字体。 |
缅甸文 | 常规 | 缅甸脚本的回退字体。 |
Nirmala UI | 常规、半光、粗体 | 南亚语言脚本的用户界面字体(孟加拉语、查克马文、梵文、古吉拉特语、锡克教文、埃纳德语、马拉雅拉姆语、曼尼普尔文、奥里亚语、欧甘语、僧伽罗语、索拉文、泰米尔语、泰卢固语)。 |
Segoe UI | 常规、斜体、浅斜体、黑色斜体、粗体、粗斜体、浅色、半光、半蓬勃、黑色 | 阿拉伯语、亚美尼亚语、格鲁吉亚语和希伯来语的用户界面字体。 |
SimSun | 常规 | 旧版中文 UI 字体。 |
Yu Gothic UI | 细体、半细、常规、半粗、粗体 | 日语的用户界面字体。 |
字体
Sans-serif 字体
Sans-serif 字体是标题和 UI 元素的绝佳选择。
字体系列 | 样式 | 备注 |
---|---|---|
Arial | 常规、斜体、粗体、粗体斜体、黑色 | 支持欧洲和中东语言脚本(拉丁文、希腊语、西里尔文、阿拉伯语、亚美尼亚语和希伯来语)。 黑粗体仅支持欧洲语言脚本。 |
Calibri | 常规、斜体、粗体、粗体斜体、浅斜体、浅斜体 | 支持欧洲和中东脚本(拉丁文、希腊文、西里尔文、阿拉伯语和希伯来语)。 阿拉伯语仅在直立中可用。 |
Consolas | 常规、斜体、粗体、粗体斜体 | 固定了支持欧洲脚本(拉丁文、希腊文和西里尔文)的宽度字体。 |
Segoe UI | 常规、斜体、浅斜体、黑色斜体、粗体、粗斜体、浅色、半光、半蓬勃、黑色 | 欧洲和中东脚本(阿拉伯语、亚美尼亚语、西里尔文、格鲁吉亚语、希腊语、希伯来语、拉丁语)和 Lisu 脚本的用户界面字体。 |
Selawik | 常规、半光、浅色、粗体、半曲 | 计量方面与 Segoe UI 兼容的开源字体,用于其他平台上不希望包含 Segoe UI 的应用。 在 GitHub 上获取 Selawik。 |
Serif 字体
Serif 字体非常适合呈现大量文本。
字体系列 | 样式 | 备注 |
---|---|---|
Cambria | 常规 | 支持欧洲脚本的 Serif 字体(拉丁语、希腊文、西里尔文)。 |
Courier New | 常规、斜体、粗体、粗体斜体 | 支持欧洲和中东语言脚本(拉丁文、希腊语、西里尔文、阿拉伯语、亚美尼亚语和希伯来语)的 Serif 固定宽度字体。 |
格鲁吉亚 | 常规、斜体、粗体、粗体斜体 | 支持欧洲脚本(拉丁文、希腊文和西里尔文)。 |
宋体, Times New Roman | 常规、斜体、粗体、粗体斜体 | 支持欧洲脚本(拉丁文、希腊文、西里尔文、阿拉伯语、亚美尼亚文、希伯来语)的旧字体。 |
可变字体
可变字体有利于精确控制文本的外观。
字体系列 | Axes | 备注 |
---|---|---|
Bahnschrift | 粗细、宽度 | 支持拉丁文、希腊语和西里尔文的可变字体。 |
Segoe UI Variable | 粗细、光学尺寸 | 支持拉丁文、希腊语和西里尔文的可变字体。 |
符号和图标
字体系列 | 样式 | 备注 |
---|---|---|
Segoe MDL2 Assets | 常规 | 应用图标的用户界面字体。 有关详细信息,请参阅 Segoe MDL2 Assets 一文。 |
Segoe UI 表情符号 | 常规 | 表情符号的用户界面字体。 |
Segoe UI 符号 | 常规 | 符号的后备字体。 |