You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在font-family规则中,引用本地字体时必须保留名称空格吗?

在font-family中引用本地字体是否必须保留名称空格?

答案是:不需要强制保留,但必须和系统/渲染引擎实际识别的字体名称严格匹配,不同环境对字体名称的识别逻辑有差异,你的问题本质是不同渲染工具对字体名称形式的支持不同。

具体细节:

  • 字体本身有多个名称属性:比如「显示名称」(Windows字体控制面板里看到的Liberation Sans)、「PostScript名称」(通常不带空格,比如LiberationSans)、「内部名称」等。
  • Chrome等主流浏览器在Windows系统下,优先识别带空格的显示名称,所以你写"Liberation Sans"能匹配到本地安装的字体;而直接写不带空格的PostScript名称LiberationSans,Chrome不会自动关联到对应的字体,因此 fallback到了Arial。
  • wkhtmltopdf依赖Qt的字体渲染引擎,它对PostScript名称的支持更好,所以用不带空格的名称能解决它的字体识别缺陷,但这是该工具的特殊情况,并非CSS标准要求。

兼容浏览器和wkhtmltopdf的方案

如果要同时兼顾两种环境,可以把两种名称都加入font-family列表,让不同引擎自行匹配:

.font-compat {
  font-family: "Liberation Sans", LiberationSans, Arial;
}

你的代码验证

你的测试代码里,.psname用了PostScript名称,Chrome无法识别;.name用了显示名称,成功匹配:

.psname {
  font-family: LiberationSans, Arial;
}
.name {
  font-family: "Liberation Sans", Arial;
}
<p class="psname">Jove, look at this font!</p>
<p class="name">Jove, look at this font!</p>

内容的提问来源于stack exchange,提问作者Heiko Theißen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 03:03:25