Web 字体倾向于拆分为粗体、斜体等的单独文件。我正在使用这样的@font-face
声明(仅在本示例中缩减为 WOFF):
@font-face {
font-family: 'OpenSans';
src: url("fonts/OpenSans-Regular.woff") format("woff");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'OpenSansItalic';
src: url("fonts/OpenSans-Italic.woff") format("woff");
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'OpenSansBold';
src: url("fonts/OpenSans-Bold.woff") format("woff");
font-weight: normal;
font-style: normal;
}
然后我实现了各种样式:
body {
font-family: "OpenSans", Helvetica, sans-serif;
}
strong {
font-family: "OpenSansBold", Helvetica, sans-serif;
font-weight: normal; /* Web font is already bold */
}
em {
font-family: "OpenSansItalic", Helvetica, sans-serif;
font-style: normal; /* Web font is already italic */
}
我必须覆盖 UA 的粗体/斜体样式(上面的注释行)。否则,它会给文本添加一个非常难看的假粗体/斜体外观。
如果我就这样离开它,并且其中一个 Web 字体文件无法加载,那么后备字体将没有正确的样式。例如,这个:
<strong>This text is bold</strong>
如果OpenSans-Bold.woff
加载失败,将显示为 Helvetica 常规,但我希望它是 Helvetica 粗体。
你如何确保你的后备字体获得正确的粗体/斜体/常规样式?