当前位置: 首页 > 面试题库 >

多个字体权重,一个@ font-face查询

邵鸿福
2023-03-14
问题内容

我必须导入Klavika字体,并且已经收到多种形状和大小的字体:

Klavika-Bold-Italic.otf
Klavika-Bold.otf
Klavika-Light-Italic.otf
Klavika-Light.otf
Klavika-Medium-Italic.otf
Klavika-Medium.otf
Klavika-Regular-Italic.otf
Klavika-Regular.otf

现在,我想知道是否有可能仅通过一个@font-face-query 将它们导入CSS
,即weight在查询中定义的位置。我想避免将查询复制/粘贴8次。

所以像:

@font-face {
  font-family: 'Klavika';
  src: url(../fonts/Klavika-Regular.otf), weight:normal;
  src: url(../fonts/Klavika-Bold.otf), weight:bold;
}

问题答案:

实际上,@ font-face有一种特殊的风味,可以满足您的要求。

这是一个示例,该示例使用相同的字体系列名称,并且具有与不同字体相关联的不同样式和粗细:

@font-face {
  font-family: "DroidSerif";
  src: url("DroidSerif-Regular-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: normal;
}

@font-face {
  font-family: "DroidSerif";
  src: url("DroidSerif-Italic-webfont.ttf") format("truetype");
  font-weight: normal;
  font-style: italic;
}

@font-face {
  font-family: "DroidSerif";
  src: url("DroidSerif-Bold-webfont.ttf") format("truetype");
  font-weight: bold;
  font-style: normal;
}

@font-face {
  font-family: "DroidSerif";
  src: url("DroidSerif-BoldItalic-webfont.ttf") format("truetype");
  font-weight: bold;
  font-style: italic;
}

现在,您可以指定font-weight:boldfont-style:italic对所需的任何元素进行指定,而不必指定font-
family或覆盖font-weightand font-style

body { font-family:"DroidSerif", Georgia, serif; }

h1 { font-weight:bold; }

em { font-style:italic; }

strong em {
  font-weight:bold;
  font-style:italic;
}

有关此功能和标准用法的完整概述,请参阅本文。

示例笔



 类似资料:
  • 问题内容: 是否可以在页面加载之前预加载或以其他方式缓存@ font-face字体(最有可能使用javascript),以便在页面最终加载时不会出现难看的跳转? 问题答案: 我目前尚无任何避免字体加载时出现闪烁的技术,但是您可以通过为字体发送适当的缓存头并确保该请求尽快通过来最大程度地减少闪烁。

  • @font-face跟其在CSS中作用表现一样,在后面简单地添加个块状属性即可,类似下面: @font-face font-family Geo font-style normal src url(fonts/geo_sans_light/GensansLight.ttf) .ingeo font-family Geo 生成为: @font-face { font-famil

  • 我正在使用@font-face/loadDataSusBaseURL在WebView中使用我自己的字体。它可以工作,但我面临一个性能问题。每次我用“loadDataSusBaseURL”更改WebView的内容时,它都会重新加载字体,并且需要几秒钟。 禁用@字体,性能完美。 TTF放在资产中,css/html每次都从String加载在一起。 尝试使用缓存,但它似乎使用存储内存中的文件,所以可能没有

  • 我试着为我的网站设置一个自定义字体,但它在火狐,Chrome或Edge/IE上都不起作用。Firefox开发者工具中的网络部分说没有找到字体,并列出了404,尽管URL应该是正确的。这是我的代码: null

  • 我在用一个工具自动生成CSS,它生成下面的@font-face标签和对应的段落Style 注意,指定的字体已经是Garamond字体的斜体版本,从技术上来说,< code>font-style:italic行是多余的。 然而,这并不奏效(我在FF、Chrome 所以,我有2个问题 > 为什么这不起作用,也就是说,为什么使用会导致它不起作用? 有没有办法通过javascript“覆盖”@font f

  • 问题内容: 如何在CSS中使用多于规则的内容? 我已将其插入样式表中: 当前,这仅适用于网站上的整个文本。但是,我想指定使用其他字体。我怎样才能做到这一点? 问题答案: 其中包括您在下面看到的CSS的更具描述性的细分(并说明了使它在IE6-9上更好地工作的调整)。