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

nea*_*us3 11 css fonts google-chrome developer-tools

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

我的电脑字体系列如下:

font-family: museo-sans, sans-serif, Futura;
Run Code Online (Sandbox Code Playgroud)

渲染字体看起来像:

Helvetica—473 glyphs
Run Code Online (Sandbox Code Playgroud)

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

Mik*_*ans 13

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

在这种情况下,事情有点奇怪,因为你显示的顺序是"一个真正的字体",后跟"一个总是解析的通用CSS类,但没有任何保证将是哪种字体,只是它'将是一个无衬线字体",然后是真正的字体"futura".

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

这里奇怪的部分是你选择的顺序意味着永远不会检查最后的"futura" .该浏览器将始终找不到一个合适的字体,一旦击中serif,sans-serif,cursive,fantasy,或者monospace