我想知道chrome如何选择要渲染的字体?我问这个是因为使用Chrome开发者工具我可以看到计算的字体系列与渲染的字体系列不同,这很令人困惑。 Stackoverflow上的类似问题在这个特定的例子中没有多大帮助。
我的电脑字体系列如下:
font-family: museo-sans, sans-serif, Futura;
渲染字体如下所示:
Helvetica—473 glyphs
在这个article中,提到chrome将渲染的字体映射到列出的计算字体。这究竟是什么意思,为什么会这样做?有没有办法控制渲染哪种字体?
答案 0 :(得分:12)
与任何其他浏览器相同:如果找不到第一个字体,则尝试下一个字体,依此类推,依此类推,直到规则用完为止。如果没有匹配的字体,那么字体将从父元素继承,一直到文档级别,它只会选择浏览器的默认字体。
在这种情况下,事情有点奇怪,因为你显示的顺序是“一个真正的字体”,后跟“一个总是解析的通用CSS类,但不保证将是哪种字体,只是它将是一个无衬线字体“,其次是真正的字体”futura“。
所以Chrome会尝试博物馆,找不到它,看到通用的“sans-serif”,只为你挑选一种已知的无衬线字体。通常这就像Arial或Helvetica,但CSS规范没有说明它必须是什么字体,具体而言。它只需要一个无衬线字体。
这里奇怪的部分是你选择的顺序意味着最后的“futura”将从不进行检查。一旦点击serif
,sans-serif
,cursive
,fantasy
或monospace