如何告诉font-weight属性和字体兼容性

时间:2017-02-18 05:42:56

标签: css fonts

所以我假设对于font-weight的所有可能值,所有字体都支持它们。但是,根据找到的here规范,这是错误的,它说“不能依赖九种字体权重。这些权重取决于可用字体的权重子集。”并在此doodle中举例说明,其中对于字体monospace似乎只有正常和粗体支持(任何< = 500看似正常)。那么,我们如何判断给定字体支持多少font-weight个级别?

2 个答案:

答案 0 :(得分:1)

事实上,“九个字体权重”纯粹是一个CSS的东西,实际上并不是任何字体规范中正式存在的东西。此外,任何字体目前只能模拟一个权重(OpenType规范只是刚刚用变量标注更新,并且需要一段时间才能完成)被细化为“这是正确的方法它“规范和b)使它成为浏览器”,所以如果你想要所有九个支持的权重,你需要九种字体,并且对于每一种你需要告诉CSS它映射到哪个权重因为字体的内部权重值 in没办法必须匹配CSS对字体权重数字的选择。

如果您依赖于系统字体的名称,或者依靠“{偶数字体”来使用类别关键字,如monospace,那么您运气不好:几乎没有运行完整CSS字体的字体宽度范围。

所以:如果你想要真正的控制和所有权重:使用你知道拥有所有九个权重的webfont,使用一些合理的@font-face规则绑定。它需要花费一些精力来验证它们对您的影响,但是一旦您这样做,您就可以保证它可以在每个(现代)浏览器中,在每个操作系统上运行。

答案 1 :(得分:0)

如果您使用的是谷歌字体,文档会清楚地说明可用的字体粗细,例如:

https://fonts.google.com/specimen/Roboto

至于内置字体,我不确定是否有办法。有关浏览器如何处理不支持的字体权重的更多信息,请访问:

https://css-tricks.com/almanac/properties/f/font-weight/

希望有所帮助:)