【问题标题】:Reference bold version without using font-weight: bold?参考粗体版本而不使用字体粗细:粗体?
【发布时间】:2012-08-29 06:09:09
【问题描述】:

我在网站上使用网络字体。对于某些标题(h1h2 等),我使用粗体变体(并将font-weight 设置为正常),因为它们看起来比使用常规变体并使用默认粗体保留 h 标签要好得多重量。必须指定font-weight: normal,否则“粗体为粗体”,看起来很糟糕。

我遇到的问题是,如何将标准网络字体指定为备用字体并“恢复”粗体设置?

例如,我可能会这样做:

@font-face {
    font-family: "My bold webfont";
    src: url("url/of/webfont/bold/variant");
}

h1 {
    font-family: "My bold webfont", Arial, sans-serif;
    font-weight: normal; 
}

只要 webfont 存在,我们就没有问题,但如果 webfont 失败,我们最终会得到非粗体 Arial。

有没有办法在h1font-family 中指定“Arial Bold”(我知道这不起作用,但这是理想的目标)?或者也许在@font-face 定义中我可以说“这仅适用于它所分配的任何东西的粗体版本”——所以我可以从h1 样式中省略font-weight: normal

【问题讨论】:

  • 你试过像500这样的数值吗?考虑到您的 webfonts 支持该大小而 Arial 不支持,后者可能会退回到normal(这只是一个想法,我还没有尝试过)。我真的看不出如何以 clean 的方式使用 CSS 完成此操作。

标签: css webfonts


【解决方案1】:

尝试在两个地方都指定font-weight: bold

@font-face {
    font-family: "My bold webfont";
    src: url("url/of/webfont/bold/variant");
    font-weight: bold;
}

h1 {
    font-family: "My bold webfont", Arial, sans-serif;
    font-weight: bold;
}

Here's a demo. p#one 展示了这种技术的使用;如果您在不支持 WOFF 网络字体的浏览器中查看它,您会看到默认字体为粗体。

【讨论】:

  • 我认为 OP 希望 font-weight: normal 用于网络字体,而 bold 仅在网络字体失败且正在使用其他字体时。
  • @SheikhHeera:这就是在@font-face 中指定font-weight: bold 所做的——它使浏览器假定字体已经是粗体。
  • @SheikhHeera:看看演示。
  • 是的!而已。我们告诉@font-face“这个字体系列定义假定使用的任何样式都是粗体,所以不要再加粗了”。它运行良好 - 谢谢!
猜你喜欢
  • 2017-01-20
  • 2015-11-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-04
相关资源
最近更新 更多