2010-09-30 84 views
3

在各种浏览器中,当使用特定字体(例如 - Helvetica Neue)时,如果未找到该字体,则使用直系族中的第一个字体。因此,如果我要指定Arial Narrow是元素的基本字体样式,并且我的阅读器没有此字体,那么它将转到系统可以找到的第一个可用的Arial字体。是否可以强制样式表中的“字体优先级”?

作为一种练习,许多网站都喜欢Helvetica字体(尤其是'Neue'和'Condensed'版本)。他们通常指定font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;认为浏览器将沿着这条特定路径行进,并且每个字体应该是美味的,并且列出的第一个是最好的。但是,Firefox/IE/Chrome(所以我认为webkit浏览器)都无法找到所需的特定Helvetica字体,并直接转到他们在Helvetica系列中遇到的第一个字体。有人会认为这将是Helvetica,但在我的系统上,它默认为Helvetica 95 Black。我甚至尝试重命名字体文件以查看是否是原因,并且不管文件名是什么,结果是该页面默认为Helvetica Black。我也发现Arial也是如此。

因此,除了试图解释Helvetica,Arial,Verdana,Tahoma,infinitum的每一种风味之外,是否还有一种方法可以强制浏览器停止在家庭中“猜测”并且只接受有问题的确切字体?

+0

如果你是在windows系统上,你是否只是重命名原始字体文件或者通过控制面板重新安装字体? – methodin 2010-09-30 20:56:03

+0

@methodin - 均为 – 2010-09-30 20:58:01

+0

您是否偶然将font-weight设置为800? (或大于400或粗体的东西) – methodin 2010-09-30 21:07:37

回答

1

对于初学者,下面是对CSS 2.1规范(或CSS 3,如果您愿意的话)中概述的font matching algorithm的描述。这是一个棘手的问题,虽然,如通过声明证明概述算法的细节之前:

因为有字体属性没有公认,通用分类标准,性能匹配字体外观必须小心。这些属性按照定义明确的顺序进行匹配,以确保此匹配过程的结果在UA中尽可能一致(假设每个字体都有相同的字体库)。

另外请注意,您必须附上包含以单或双引号空格任何字体的名称,按section 15.3

+0

嗯,报价的东西通常在那里,这只是我的懒惰打字。但我担心的是,首先会选择“黑色”字体,使页面膨胀和扭曲。 – 2010-09-30 20:00:47

+0

足够接近政府工作。不妨将其标记为答案。 – 2010-12-25 03:48:43

相关问题