txw/txw-mhzc-web/public/docs/font-design-package/字体设计规范.md

175 lines
5.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 门户字体设计规范
| 属性 | 内容 |
| --- | --- |
| 文档版本 | v1.0 |
| 创建日期 | 2026-05-20 |
| 状态 | 已整理(含现状审计与统一建议) |
| 适用 | txw-mhzc-web 门户五页 + TDesign 组件区 |
---
## 一、设计原则
1. **中文优先**:界面正文与标题以苹方/雅黑为主,保证政务、企业类页面的可读性与稳重感。
2. **系统字体**:不内嵌商业字体文件,依赖用户操作系统已安装字体,降低授权与包体积风险。
3. **Token 驱动**:字号、行高、字重通过 CSS 变量维护,页面禁止随意写死 `font-family`(展示字除外)。
4. **组件一致**TDesign 组件使用 `--td-font-*`;门户自定义区块使用 `--page-font-*`(本包提供)。
---
## 二、字体族Font Family
### 2.1 主字体栈(全站默认)
| 优先级 | 字体 | 说明 |
| --- | --- | --- |
| 1 | **PingFang SC**(苹方-简) | macOS / iOS 默认中文 UI 字体 |
| 2 | **Microsoft YaHei**(微软雅黑) | Windows 常见中文 UI 字体 |
| 3 | **Arial** | 西文与兜底 |
| 4 | **sans-serif** | 系统无衬线兜底 |
**CSS 写法:**
```css
font-family: 'PingFang SC', 'Microsoft YaHei', Arial, sans-serif;
```
**工程内 TDesign Token已存在**
```css
--td-font-family: pingfang sc, microsoft yahei, arial regular;
--td-font-family-medium: pingfang sc, microsoft yahei, arial medium;
```
### 2.2 中等字重栈(强调、标签)
与主栈相同,字重由 `font-weight: 500 / 600` 控制,不单独换字体文件。
### 2.3 展示/营销标题(仅首页等特殊区块)
| 场景 | 字体栈 | 备注 |
| --- | --- | --- |
| 大 Banner 主标题 | FZZhengHeiS-B-GB, PingFang SC | 需本机安装方正正黑;无则回退苹方 |
| 部分强调标题 | SimHei, 黑体 | 仅 home2 等局部使用,不宜扩散 |
| 数字/英文强调 | Inter, PingFang SC | 首页部分卡片;建议逐步改为苹方栈 |
### 2.4 等宽字体(代码)
```css
font-family: 'Fira Code', 'SFMono-Regular', Consolas, monospace;
```
### 2.5 图标字体
`iconfont`(项目 icon 组件专用,勿用于正文)。
---
## 三、字号阶梯Type Scale
### 3.1 TDesign 标准阶梯(组件、表单、后台)
来源:`src/pages/index/assets/css/theme.css`
| Token | 字号 | 典型用途 |
| --- | --- | --- |
| `--td-font-size-link-small` | 12px | 小链接 |
| `--td-font-size-body-small` | 12px | 辅助说明 |
| `--td-font-size-body-medium` | 14px | **正文默认** |
| `--td-font-size-body-large` | 16px | 强调正文 |
| `--td-font-size-title-small` | 14px | 小标题 |
| `--td-font-size-title-medium` | 16px | 卡片标题 |
| `--td-font-size-title-large` | 20px | 区块标题 |
| `--td-font-size-headline-small` | 24px | 页面副标题 |
| `--td-font-size-headline-medium` | 28px | 页面主标题 |
| `--td-font-size-headline-large` | 36px | 大标题 |
| `--td-font-size-display-medium` | 48px | 展示级 |
| `--td-font-size-display-large` | 64px | 首屏超大字 |
**行高规则:** `line-height = font-size + 8px``--td-line-height-common: 8px`
**组合字体简写:** 使用 `--td-font-body-medium`、`--td-font-title-large` 等(已含字号/行高/字体族)。
### 3.2 门户营销页常用字号home2 / 导航)
| 字号 | 字重 | 场景 |
| --- | --- | --- |
| 10px | 400 | 导航角标等(慎用,注意可访问性) |
| 12px | 400 | 辅助信息 |
| 14px | 400 | 次要文案、导航副项 |
| 16px | 400/500 | **导航、正文、按钮** |
| 18px | 500/700 | 副标题、强调句 |
| 22px | 600 | 区块小标题 |
| 24px | 500/700 | 模块标题 |
| 28px | 700 | 强调标题 |
| 32px | 600/700 | 屏级大标题 |
### 3.3 根字号rem 基准)
`app.vue``html { font-size: 20px; }` — 若使用 rem需以此为准换算。
---
## 四、字重Font Weight
| 值 | 名称 | 用途 |
| --- | --- | --- |
| 400 | Regular | 正文、说明 |
| 500 | Medium | 导航、次要标题 |
| 600 | Semibold | 卡片标题、强调 |
| 700 | Bold | 主标题、数据强调 |
---
## 五、颜色(与字体配套)
TDesign 文本色(`theme.css`
| Token | 值 | 用途 |
| --- | --- | --- |
| `--td-text-color-primary` | rgba(0,0,0,0.9) | 主文案 |
| `--td-text-color-secondary` | rgba(0,0,0,0.6) | 次要文案 |
| `--td-text-color-placeholder` | rgba(0,0,0,0.4) | 占位 |
| `--td-text-color-disabled` | rgba(0,0,0,0.26) | 禁用 |
门户链接色tailwind 片段):`#9ca3af``app.vue` 全局 `a` 标签,可按设计调整)。
---
## 六、使用规范
### 6.1 应该
- 正文、表单、表格:使用 `--td-font-body-medium``--page-font-body-medium`
- 门户导航:`--page-font-nav`16px / 500
- 屏级标题:`--page-font-screen-title`32px / 600
- 新页面只引用 Token不写 `font-family: PingFang SC` 重复声明
### 6.2 不应该
-`body` 使用 Inter 作为中文站默认字体
- 同一页面混用 3 种以上 font-family
- 小于 12px 的正文(除角标等特殊场景)
### 6.3 统一改造建议(可选实施)
1. 修改 `tailwindcss.css``body``font-family: var(--page-font-family);`
2. 新建 `styles/font-tokens.less` 并在 `main.js` 引入
3. 分批删除各 `.vue` 内重复的 `font-family: PingFang SC`
---
## 七、与版心规范的关系
版心、边距见 `page-layout-margin-refactor.md`;字体与版心独立,但**区块大标题**需同时遵守:
- 字号:见 `--page-font-section-title`
- 左对齐:与 `--page-section-title-padding-left` 配合
---
## 八、交付清单
本 zip 包含规范文档、CSS/Less Token、theme 摘录、现状审计、HTML 预览页。**不包含** .ttf/.woff 字体文件。