为什么chrome显示的渲染字体与计算字体系列不同?

时间:2015-05-13 01:01:14

标签: css google-chrome fonts developer-tools

我想知道chrome如何选择要渲染的字体?我问这个是因为使用Chrome开发者工具我可以看到计算的字体系列与渲染的字体系列不同,这很令人困惑。 Stackoverflow上的类似问题在这个特定的例子中没有多大帮助。

我的电脑字体系列如下:

font-family: museo-sans, sans-serif, Futura;

渲染字体如下所示:

Helvetica—473 glyphs

在这个article中,提到chrome将渲染的字体映射到列出的计算字体。这究竟是什么意思,为什么会这样做?有没有办法控制渲染哪种字体?

1 个答案:

答案 0 :(得分:12)

与任何其他浏览器相同:如果找不到第一个字体,则尝试下一个字体,依此类推,依此类推,直到规则用完为止。如果没有匹配的字体,那么字体将从父元素继承,一直到文档级别,它只会选择浏览器的默认字体。

在这种情况下,事情有点奇怪,因为你显示的顺序是“一个真正的字体”,后跟“一个总是解析的通用CSS类,但不保证将是哪种字体,只是它将是一个无衬线字体“,其次是真正的字体”futura“。

所以Chrome会尝试博物馆,找不到它,看到通用的“sans-serif”,只为你挑选一种已知的无衬线字体。通常这就像Arial或Helvetica,但CSS规范没有说明它必须是什么字体,具体而言。它只需要一个无衬线字体。

这里奇怪的部分是你选择的顺序意味着最后的“futura”将从不进行检查。一旦点击serifsans-serifcursivefantasymonospace

,浏览器就会always find a suitable font