webfonts:@ font-face应该包括font-style和font-weight?

时间:2016-07-19 14:31:37

标签: css fonts font-face webfonts google-webfonts

当包含@font-facesrc来导入webfont时,我注意到您可以传入2个可选值。我现在不这样做。

我有2种网络字体,Lato Regular和Lato Bold。

我应该在@font-face规则中指定权重吗?

默认情况下它会使用常规。

我没有传递任何东西,它似乎正确呈现,即粗体版似乎是大胆的。

很想知道这样做的推荐方式以及它有哪些优点或缺点?

作为权重传递粗体会强制浏览器加粗字体?但它已经大胆 - 对吧?

1 个答案:

答案 0 :(得分:1)

是的,你应该。 font-weightfont-style指定您认为的字体外观。这意味着您可以将作者设计的内容嵌入到常规字体中,作为粗体字体。这也意味着当你使用这样的字体时,你最好使用font-weight: bold,除非没有其他选择,否则用户代理将选择字体。

在你的情况下:

@font-face {
    font-family: "Lato";
    font-style: normal;
    font-weight: 400;
    src: /* The URL of the resource containing the non-slanted regular font face. */
}

@font-face {
    font-family: "Lato";
    font-style: normal;
    font-weight: bold; /* or 700 */
    src: /* The URL of the resource containing the non-slanted font face with 'bold'/700 glyphs. */
}

如果您未在font-weight规则中指定@font-face,则用户代理会假定您的字体具有默认权重为400(“常规”)的字形。因此,在引用字体的规则中未指定font-weight,仍默认为相同的字体粗细,一切正常,没有冲突。

我也经常使用数字字体权重,因为自定义字体常常被分为半粗体和粗体渐变,因此使用类似font-weight: 600的内容可以选择嵌入的半粗体字体(在相应的font-weight: 600规则中也有@font-face