【发布时间】:2015-07-01 12:52:09
【问题描述】:
我想知道是否可以将同一字体的多种样式添加到@font-face 标记。我读了几个地方说它是可能的,但每次我都尝试过它只是使用默认字体。我当前使用虚构的 Coolio 字体的示例包括:
@font-face {
font-family: Coolio;
src: url("../fonts/coolio.otf)";
}
@font-face {
font-family: Coolio;
src: url("../fonts/coolio-bold.otf)";
font-weight: bold;
}
@font-face {
font-family: Coolio;
src: url("../fonts/coolio-italic.otf)";
font-style: italic;
}
@font-face {
font-family: Coolio;
src: url("../fonts/coolio-bolditalic.otf)";
font-weight: bold;
font-style: italic;
}
@font-face {
font-family: Coolio;
src: url("../fonts/coolio-condensed.otf)";
font-stretch: condensed;
}
...等等等等。 (我实际上使用的是数字权重,而不仅仅是粗体或正常,但无论哪种方式都不起作用。)
那么有可能还是我阅读的文章不正确?我想我必须用自己的名字来定义每一个,但这违背了只使用一个系列然后依靠各种 CSS 标签来处理样式的意义。
提前致谢!
【问题讨论】:
-
你不应该做这样的事情。当您使用字体时,您应该能够在 css 选择器上设置粗体等。
-
为了进一步解释,某些字体具有与基本字体不同的特定变体。例如,如果您使用“粗体”,它将使用字体的实际粗体版本,而不仅仅是加粗基本字体。我很清楚我可以只使用带有基本字体的普通粗细和样式。不过,这不是我想要做的。 :)
-
你正在做的事情是完全正确的,应该可以工作,所以如果不是,问题就出在其他地方。你所说的“默认字体”是什么意思——你的意思是它回退到通用的
sans-serif还是什么,或者它正在使用../fonts/coolio/otf并对其应用自己的粗体,或者......?通过对其中一个变体使用不同的字体系列来测试它,比如“CoolioItalic”,并确保它有效或无效;例如,这将验证相对路径是否正确以及字体是否正确加载。 -
是的,无论我尝试做什么,它都会默认为coolio.otf字体,如上所示。是的,我已经测试以确保文件路径正确(我将第一个标签中的coolio.otf 切换为coolio-extrabold.otf 并且它出现了,但是当我将它切换回来时,它会继续使用coolio.otf我用了“粗体”)。
-
@brian 这实际上正是你应该做的。同一字体系列的多个声明,具有不同权重和样式的不同源文件。字体没有内置“粗体”和“斜体”,它们是单独的字体文件,(当 MS Word 或 Photoshop 等让你选择“粗体”或“斜体”时,它们实际上是在切换字体文件)跨度>
标签: css fonts font-family