小编典典

如何为同一种字体添加多个字体文件?

all

我正在查看@font-face CSS 规则的 MDC 页面,但我一无所获。我有 粗体斜体 粗体+斜体 的单独文件。如何将所有三个文件嵌入到一个@font- face规则中?例如,如果我有:

@font-face {
    font-family: "DejaVu Sans";
    src: url("./fonts/DejaVuSans.ttf") format("ttf");
}
strong {
    font-family: "DejaVu Sans";
    font-weight: bold;
}

浏览器不知道粗体要使用哪种字体(因为该文件是
DejaVuSansBold.ttf),所以它会默认为我可能不想要的字体。如何告诉浏览器我对某种字体的所有不同变体?


阅读 188

收藏
2022-03-11

共1个答案

小编典典

解决方案似乎是添加多个@font-face规则,例如:

@font-face {
    font-family: "DejaVu Sans";
    src: url("fonts/DejaVuSans.ttf");
}
@font-face {
    font-family: "DejaVu Sans";
    src: url("fonts/DejaVuSans-Bold.ttf");
    font-weight: bold;
}
@font-face {
    font-family: "DejaVu Sans";
    src: url("fonts/DejaVuSans-Oblique.ttf");
    font-style: italic, oblique;
}
@font-face {
    font-family: "DejaVu Sans";
    src: url("fonts/DejaVuSans-BoldOblique.ttf");
    font-weight: bold;
    font-style: italic, oblique;
}

顺便说一句,谷歌浏览器似乎不知道这个format("ttf")论点,所以你可能想跳过它。

(这个答案对于CSS
2
规范是正确的。CSS3只允许一种字体样式而不是逗号分隔的列表。)

2022-03-11