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