12. 字体配置指南

902 字
5 分钟
12. 字体配置指南

字体配置指南#

配置文件位置#

src/config/fontConfig.ts

基本配置#

export const fontConfig = {
// 是否启用自定义字体功能
enable: false,
// 是否预加载字体文件
preload: true,
// 当前选择的字体,支持多个字体组合
selected: ["misans-regular"],
};

内置字体#

1. 系统字体#

system: {
id: "system",
name: "系统字体",
src: "", // 系统字体无需 src
family: "system-ui, -apple-system, BlinkMacSystemFont, Segoe UI, Roboto, sans-serif",
},

2. Google Fonts - Zen Maru Gothic#

"zen-maru-gothic": {
id: "zen-maru-gothic",
name: "Zen Maru Gothic",
src: "https://fonts.googleapis.com/css2?family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap",
family: "Zen Maru Gothic",
display: "swap" as const,
},

3. Google Fonts - Inter#

inter: {
id: "inter",
name: "Inter",
src: "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap",
family: "Inter",
display: "swap" as const,
},

4. 小米字体 - MiSans#

字体变体字重适用场景
misans-normal400正文文本
misans-regular500标题、强调文本
misans-semibold600大标题、重要按钮

启用自定义字体#

1. 启用字体功能#

// 启用自定义字体
enable: true,

2. 选择字体#

// 选择单个字体
selected: ["inter"],
// 选择多个字体(按顺序 fallback)
selected: ["misans-regular", "inter"],

添加自定义字体#

方法1:使用 Google Fonts#

  1. 访问 Google Fonts
  2. 选择喜欢的字体
  3. 复制 embed 代码
  4. 在 fonts 对象中添加:
"my-font": {
id: "my-font",
name: "我的字体",
src: "https://fonts.googleapis.com/css2?family=字体名称:wght@300;400;500;600;700&display=swap",
family: "字体名称",
display: "swap" as const,
},

方法2:使用本地字体#

注意:本地字体需要进行子集化处理,否则会导致页面加载缓慢。

  1. 将字体文件放在 public/fonts/ 目录
  2. 在 fonts 对象中添加:
"local-font": {
id: "local-font",
name: "本地字体",
src: "/fonts/my-font.woff2",
family: "本地字体名称",
weight: 400,
display: "swap" as const,
},

字体加载优化#

1. 预加载字体#

// 启用字体预加载
preload: true,

2. 字体显示策略#

策略说明适用场景
swap立即使用系统字体,字体加载后替换优先显示内容
block阻塞显示直到字体加载完成视觉一致性要求高
fallback短暂阻塞后使用系统字体平衡方案
optional仅在字体可用时使用性能优先

3. 字体子集化#

对于中文字体,建议使用:

字体大小和行高#

调整全局字体大小#

在 src/styles/global.css 中修改:

:root {
--font-size-base: 16px;
--font-size-small: 14px;
--font-size-large: 18px;
--line-height-base: 1.6;
}

响应式字体#

/* 移动端 */
@media (max-width: 768px) {
:root {
--font-size-base: 14px;
}
}
/* 桌面端 */
@media (min-width: 1200px) {
:root {
--font-size-base: 17px;
}
}

常见问题#

Q: 字体不显示?#

  1. 检查 enable 是否为 true
  2. 检查 selected 中字体 ID 是否正确
  3. 检查字体 CDN 链接是否可访问
  4. 清除浏览器缓存

Q: 页面加载缓慢?#

  1. 启用 preload: true
  2. 使用 display: "swap"
  3. 对中文字体进行子集化处理
  4. 选择字重较少的字体变体

Q: 字体在不同设备显示不一致?#

  1. 使用字体回退列表
  2. 确保字体支持所需语言
  3. 测试不同操作系统和浏览器

Q: 中文字体显示问题?#

  1. 使用专门的中文字体:

    • Noto Sans SC(Google Fonts)
    • 思源黑体
    • 小米字体 MiSans
  2. 字体配置示例:

    selected: ["misans-regular", "zen-maru-gothic", "system"],

Q: 如何测试字体效果?#

  1. 使用浏览器开发者工具
  2. 调整 selected 数组测试不同字体
  3. 在不同设备上预览
  4. 使用 Font Playground 工具

最佳实践#

  1. 性能优先:优先使用系统字体或 CDN 字体
  2. 可读性:选择清晰易读的字体
  3. 一致性:整个网站使用统一的字体体系
  4. 响应式:在不同设备上测试字体显示
  5. 兼容性:提供适当的字体回退
  6. 加载优化:合理使用预加载和显示策略

通过精心的字体配置,可以提升博客的视觉效果和用户体验!

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
12. 字体配置指南
https://blogboy.eu.cc/posts/12/
作者
Coldairboy
发布于
2026-04-04
许可协议
CC BY-NC-SA 4.0

评论区

Profile Image of the Author
Coldairboy
记录学习笔记、折腾过程和日常灵感。
公告
Hi,欢迎来到 Coldairboy学习笔记。
音乐
封面

音乐

暂未播放

0:00 0:00
暂无歌词
分类
标签
站点统计
文章
31
分类
3
标签
5
总字数
36,702
运行时长
0 天
最后活动
0 天前

目录