DevToolPal
简

CSS 字体栈生成器

生成跨平台的 CSS font-family 字体栈,包含系统字体、中日韩回退字体和 Emoji 字体。

本地处理,不上传

选项

引号

CSS

0 字符 · 0 B

功能简介

CSS 字体栈生成器用访客设备上已经安装的字体,生成可以直接粘贴的 font-family 值。选择一种风格,比如系统界面字体、Inter 和 Helvetica 这类新怪诞体、Charter 这类过渡衬线体,或者适合写代码的等宽字体,工具会按正确顺序列出各平台上最合适的字体。

字体栈参考了 Modern Font Stacks 项目,另外提供很多网站仍在用的经典写法 -apple-system, BlinkMacSystemFont, "Segoe UI"。还可以为简体中文、繁体中文、日文、韩文、阿拉伯文、泰文或印地文加上回退字体,并在末尾加入彩色 Emoji 字体。

使用方法

  1. 选择「字体栈」,左侧预览会用你当前设备上的字体显示效果,预览文字可以直接修改成你自己的内容。
  2. 页面里有中日韩、阿拉伯、泰文或印地文时,在「其他文字的字体」里选择对应的语言。
  3. 打开或关闭「加上 Emoji 字体」。
  4. 选择「输出格式」:font-family 声明、CSS 变量、Tailwind 的 fontFamily 配置,或纯列表。
  5. 复制结果,或下载为 .css 文件。

含空格或以数字开头的字体名会自动加引号;system-ui、sans-serif 这类 CSS 关键字不会加引号,因为加了引号它们就变成了不存在的字体名。

示例

系统界面字体加简体中文回退:

font-family: system-ui, "PingFang SC", "Hiragino Sans GB", "Microsoft YaHei", "Noto Sans SC", "Source Han Sans SC", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";

小提示

  • 正文用一套字体栈,代码用一套等宽字体栈,系统字体不需要下载,零成本。
  • 预览取决于你自己设备上装了哪些字体,最好在 Windows 和手机上也看一下。
  • 以后要加网络字体时,把它放在最前面,保留系统字体栈作为回退。

常见问题

› 什么是字体栈?

就是 CSS font-family 里的一串字体名。浏览器会用设备上已安装的第一个字体,找不到就往后退,最后落到 sans-serif 这样的通用字体族。

› 为什么要加中文字体?

Inter、Charter 等西文字体没有中文字形。在通用字体族前面列出苹方、微软雅黑、思源黑体等字体,中文就会用风格匹配的字体显示,而不是交给系统随便挑。阿拉伯文、泰文和印地文(天城文)也是一样。俄文、乌克兰文、希腊文、越南文、土耳其文、波兰文等拉丁或西里尔字母的语言不需要额外设置,每个字体栈里的系统字体和 Noto 字体都已经覆盖。

› Emoji 字体为什么放在 sans-serif 后面?

Emoji 字体只包含表情符号。放在最后可以保证普通字母和数字不会被 Emoji 字体渲染,同时表情在各个平台都显示为彩色。

› 这些字体需要下载网络字体吗?

不需要。所有字体栈只用 Windows、macOS、iOS、Android 或常见 Linux 发行版自带的字体,页面加载时没有任何字体请求。