【发布时间】:2014-10-20 21:17:07
【问题描述】:
我的网站是通过@font-face 在 Avenir Medium 中设置的,如下所示:
@font-face {
font-family: "Avenir-Medium";
src: url("/Shared/fonts/Avenir-Medium.ttf") format('truetype'),
url("/Shared/fonts/Avenir-Medium.woff") format('woff');
}
我通过身体应用这个:
body {
font-size: 1em;
line-height: 1.25em;
background-color: #E8E8E8;
font-family: "Avenir-Medium", Arial, Verdana, sans-serif;
}
这很好地为正文拉入了正确的字体。然而,<strong> 标签在 PC(Chrome、FireFox、IE 等)上看起来很糟糕,因为它是虚假的粗体渲染。在这一点上,我决定我需要引入 Avenir 的斜体/粗体版本:
@font-face {
font-family: "Avenir-Heavy";
src: url("/Shared/fonts/Avenir-Heavy.ttf") format('truetype'),
url("/Shared/fonts/Avenir-Heavy.woff") format('woff');
}
@font-face {
font-family: "Avenir-MediumOblique";
src: url("/Shared/fonts/Avenir-MediumOblique.ttf") format('truetype'),
url("/Shared/fonts/Avenir-MediumOblique.woff") format('woff');
}
在这些正确拉入之后,我制定了以下 CSS 规则:
strong {
font-weight: normal;
font-style: normal;
font-family: "Avenir-Heavy", Arial, Verdana, sans-serif;
}
em {
font-weight: normal;
font-style: normal;
font-family: "Avenir-MediumOblique", Arial, Verdana, sans-serif;
}
这就是我的问题所在。在 Mac 上,会为任何 <strong> 和 <em> 声明引入正确的字体。不过,在 PC 上……人造渲染似乎正在抬起它丑陋的脑袋。粗体字体现在看起来很糟糕,即使浏览器说它正在为<strong> 声明引入 Avenir-Heavy。
您可以查看此问题的示例here。
【问题讨论】:
-
尝试将字体上的
font-weight:700更改为粗体版 -
这些字体文件从何而来?
-
@JukkaK.Korpela 我们将它们托管在我们的服务器上。理想情况下,我想要像 google/typekit 这样的 CDN 上的东西,但现在不能使用这种字体。 ://
-
@Danko 一定会在我回到办公室时尝试一下。我对 font-weight: 700 或 800 运气不佳。会试一试,让你知道。
-
您需要识别您正在使用的字体,以允许其他人测试它的方式,显示实际演示问题的最小文档,并清楚说明问题所在是直接可观察的。 “虚假渲染”是从某事中得出的结论,而不是观察。 如果
font-weight: normal应用于元素,很难理解为什么会使用假粗体。