在@ font-face中覆盖font-weight

时间:2012-04-02 10:34:26

标签: css css3 font-face

目前,我正在使用@font-face支持不支持的浏览器:

@font-face
{
  font-family: TheSansBlack;
  src: local( TheSansBlack ), url( ../fonts/TheSans_TT9_.woff ) format( 'woff' );
}

font-family: TheSansBlack, Arial, Verdana, Helvetica, sans-serif;

在某些情况下,后备应该是粗体,所以我有一些css符号,如:

#foo
{
  font-family: TheSansBlack, Arial, Verdana, Helvetica, sans-serif;
  font-weight: bold;
}

因为我使用的是名为TheSansBlack的字体,所以无需设置font-weight: bold

但这不起作用:

@font-face
{
  font-family: TheSansBlack;
  font-weight: normal;
  src: local( TheSansBlack ), url( ../fonts/TheSans_TT9_.woff ) format( 'woff' );
}

它仍然显示看起来很丑的粗体,因为它是TheSansBlack的双重粗体...... 我只需要在后备时将font-weight设置为粗体,而不是woff字体。

编辑:我也试过这个没有成功:

@font-face
{
  font-family: TheSansBlack;
  src: local( TheSansBlack ), url( ../fonts/TheSans_TT9_.woff ) format( 'woff' );

  #foo
  {
    font-weight: normal !important;
  }
}

#foo
{
  font-family: TheSansBlack, Arial, Verdana, Helvetica, sans-serif;
  font-weight: bold;
}

1 个答案:

答案 0 :(得分:1)

得到它: - )

我必须在@ font-face中将font-weight显式设置为粗体。

Dunno为什么......

编辑:完整示例

@font-face
{
  src: local( TheSansBlack ), url( ../fonts/TheSans_TT9_.woff ) format( 'woff' );
  font-family: TheSansBlack;
  font-weight: bold;
}

#foo
{
  font-family: TheSansBlack, Arial, Verdana, Helvetica, sans-serif;
  font-weight: bold;
}

这会在旧浏览器中产生正常的TheSansBlack和粗体Arial / Verdana / Helvetica。