10

我刚开始使用@font-face 这是在我的css之上

@font-face {
  font-family: Avenir;
  src: url(../fonts/AvenirLTStd-Medium.otf);
}
body{
 font-family:"Avenir",Helvetica;
 background:#fff url(../images/main_bg.png) repeat-x scroll 0 0;
 color:#321244;
}

我在下面有这个关于 joomla 的菜单

#menu_bottom ul li a {
font-size:12px;
font-weight:600;
letter-spacing:-0.6px;
text-transform:uppercase;

这是在 html 文件上

<li class="item23"><a href="/index.php?option=com_user&amp;view=login&amp;Itemid=13&amp;lang=en"><span>Menu Item</span></a></li>

这在 Firefox 中有效,但在 Safari 或 Chrome 上无法正常工作,字体正确但字体粗细不起作用,我检查了 google-chrome 开发人员工具,计算出的字体粗细为 600。我尝试使用 100或 900 safari 和 chrome 上的结果是一样的,字体粗细不会改变。

我的 css 文件顶部的字体声明有问题吗?

我应该尝试添加这样的东西吗

@font-face {
  font-family: Avenir;
  src: url(../fonts/AvenirLTStd-Heavy.otf);
  font-style: bold;
}

我试过但没有用。我是否应该添加另一种字体,这是我的字体目录中的字体

AJensonPro-BoldIt.otf         AvenirLTStd-BookOblique.otf
AJensonPro-Bold.otf           AvenirLTStd-Book.otf
AJensonPro-It.otf             AvenirLTStd-HeavyOblique.otf
AJensonPro-LtIt.otf           AvenirLTStd-Heavy.otf
AJensonPro-Lt.otf             AvenirLTStd-LightOblique.otf
AJensonPro-Regular.otf        AvenirLTStd-Light.otf
AJensonPro-SemiboldIt.otf     AvenirLTStd-MediumOblique.otf
AJensonPro-Semibold.otf       AvenirLTStd-Medium.otf
AvenirLTStd-BlackOblique.otf  AvenirLTStd-Oblique.otf
AvenirLTStd-Black.otf         AvenirLTStd-Roman.otf

或者我应该尝试另一种字体格式,不是 otf,在 IE 中似乎可以工作,尽管宽度更大。我仍然需要解决这个问题。

4

3 回答 3

10

here所述,您必须添加

font-weight: normal;
font-style: normal;

在@font-face 声明中,然后font-weight:600;在你的锚点上使用。

于 2010-03-30T13:18:10.030 回答
2

为 font-weight 指定一个数值是有风险的。不同的浏览器对这些值的解释不同,有些浏览器根本不把它解释为任何东西。你最好使用标准的“粗体”......浏览器以某种半统一的方式最接近匹配。此外,如果您使用自定义字体,您应该确定您的用户在他们的系统上拥有它们。此外,一些自定义字体对虚假的“粗体”属性反应不佳。他们会有一个命名为“粗体”的脸,比如 Avenir Bold、Avenir Black、Avenir Demibold、Avenir Demibold Condensed 等等等等等等。

此外,始终包含足够的备用字体,最后包括“serif”或“sans-serif”或“monospace”通用字体说明符。

于 2010-03-30T13:01:30.970 回答
0

迟到总比不到好。希望这可以帮助:

html { -webkit-font-smoothing: antialiased; }
于 2016-04-11T22:44:47.367 回答