我有以下这样的 CSS:
@font-face {
font-family: 'alegreya';
src:url('fonts/AlegreyaBold.ttf');
font-weight:normal;
font-style: normal;
}
@font-face {
font-family: 'alegreya';
src:url('fonts/AlegreyaBoldItalic.ttf');
font-weight:normal;
font-style: italic, oblique;
}
@font-face {
font-family: 'alegreya';
src:url('fonts/AlegreyaBlack.ttf');
font-weight:bold;
font-style: normal;
}
@font-face {
font-family: 'alegreya';
src:url('fonts/AlegreyaBlackItalic.ttf');
font-weight:bold;
font-style: italic, oblique;
}
并且我的类有这样一个规则:
.font-alegreya {
font-family:alegreya;
}
最后是HTML:
<li class="font-alegreya" data-styles="bold, italic, extrabold">
Alegreya - Some sample words.
</li>
现在,我已经阅读了这里的metaltoad和其他SO上的地方,使用单个字体族是利用自定义字体的首选方式,并且您必须将粗体-斜体放在最后。 问题是字体以斜体显示。通过在CSS类中使用
font-weight:normal
,我获得正常的显示重量,但font-style:normal
不能清除斜体。这是有道理的,因为在“开发人员工具”中,我只看到加载了黑色斜体
字体(在我的CSS文件中排名第二)。该字体已安装在我的计算机上,但我在服务器上重命名了该文件。我在Opera(WebKit)和IE11中观察到了这一点,所以这是我的代码。
编辑:如评论中所述,我颠倒了粗体和黑体。这解释了粗体。但是斜体仍然存在问题。