font-family值必须加引号的情况包括:字体名含空格(如"times new roman")、连字符(如"segoe ui")、中文名(如"microsoft yahei")及@font-face自定义名;sans-serif等通用族关键字须置于链尾且不加引号,中间不可有空项。

font-family 值必须加引号,否则中文/空格名直接失效
浏览器对 font-family 的解析很严格:只要名字含空格、中文、连字符(如 HarmonyOS Sans),不加引号就等同于写错。比如 font-family: Microsoft YaHei; 在 macOS/Linux 上根本不会加载,因为解析器把它当成了两个独立关键字 Microsoft 和 YaHei,而这两个都不是合法字体名。
正确写法必须带英文引号:
font-family: "Microsoft YaHei", "PingFang SC", sans-serif;font-family: 'Inter Variable', system-ui, sans-serif;- 哪怕只用一个字体,也得加引号:
font-family: 'Noto Sans CJK SC';
表格里设字体,别只写 table,要覆盖 td 和 th
很多人给 table 元素设了 font-family,结果文字还是系统默认字体——因为 td 和 th 会继承父级,但某些浏览器或重置样式(如 normalize.css)会让它们继承 body 或自身默认值,导致继承链中断。
稳妥做法是直接作用于单元格:
- 写
td, th { font-family: "Microsoft YaHei", sans-serif; } - 如果表格嵌套深,或用了框架(如 Bootstrap),检查 computed 样式,确认最终生效的是哪条规则
- 避免用内联 style 写死每个
td,维护成本高;优先走 CSS 类或全局选择器
@font-face 引入后,在表格中调用失败的常见原因
自定义字体在表格里不显示,90% 不是表格的问题,而是 @font-face 声明或调用环节出错:
-
src路径错误:CSS 文件里写的url('./fonts/myfont.woff2'),实际文件在/assets/fonts/,路径以 CSS 文件位置为基准,不是 HTML - 字体名大小写不一致:声明里是
font-family: 'HarmonyOS Sans',调用时写了'harmonyos sans'或HarmonyOS Sans(没引号) - 没提供 fallback:只写
font-family: 'MyFont';,一旦字体加载失败或跨域被拒,文字就变成 Times New Roman,且无任何提示 - 没加
font-display: swap:字体加载期间表格文字空白(FOIT),用户以为页面卡住
中文字体 fallback 链必须分系统列,不能只靠“微软雅黑”
只写 "Microsoft YaHei" 当主力字体,等于把所有非 Windows 用户扔进 fallback 黑洞。不同系统预装中文字体差异极大:
- macOS/iOS:优先
"PingFang SC"、"Heiti SC",再 fallback 到-apple-system - Windows:
"Microsoft YaHei"、"SimSun"(但 Win11 默认不装宋体,建议换"NSimSun"或跳过) - Linux:依赖发行版,
"Noto Sans CJK SC"最稳妥,部分环境需手动安装 - 兜底通用族必须有:
sans-serif或serif,否则遇到未知系统可能渲染异常
推荐一行写全:font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Microsoft YaHei", "PingFang SC", "Noto Sans CJK SC", sans-serif; —— 这条链在表格里和正文里都适用,别为了省事删减。
前端入门到VUE实战笔记:立即使用
在学习笔记中,你将探索 前端 的入门与实战技巧!











