我已经思考了相当一段时间,是什么原因导致一些IE版本呈现@字体字体为斜体,即使样式被宣布为正常。
我的主要想法是IE不会在呈现页面之前下载每个字体文件。
在我的CSS中,我为同一字体的不同字体声明了字体文件--从细斜体到超字体不等。它们都是使用相同的设置声明的:
@font-face { /* THIN ITALIC */
font-family: Unit;
src: url("../gfx/fonts/UnitWeb-ThinIta.eot")
src: url("../gfx/fonts/UnitWeb-ThinIta.eot?#iefix") format("embedded-opentype"),
url("../gfx/fonts/UnitWeb-ThinIta.woff") format("woff");
font-weight: 100;
font-style: italic, oblique;
font-variant: normal;
}通过
@font-face { /* ULTRA */
font-family: Unit;
src: url("../gfx/fonts/UnitWeb-Ultra.eot");
src: url("../gfx/fonts/UnitWeb-Ultra.eot?#iefix") format("embedded-opentype"),
url("../gfx/fonts/UnitWeb-Ultra.woff") format("woff");
font-weight: 900;
font-style: normal;
font-variant: normal;
}如您所见,斜体被声明为font-style: italic, oblique;,而normal则声明为font-style: normal;。
现在,到渲染。
这就是IE9的呈现方式。
这就是IE8不时呈现它的方式。
发布于 2013-01-11 08:25:50
发帖作为答案是这样的问题:自定义字体有时以斜体形式呈现在IE8 / IE7中
您需要为您的每个@字体字体家族创建一个自定义名称。例如:
@font-face { /* THIN ITALIC */
font-family: UnitItalic;
src: url("../gfx/fonts/UnitWeb-ThinIta.eot")
src: url("../gfx/fonts/UnitWeb-ThinIta.eot?#iefix") format("embedded-opentype"),
url("../gfx/fonts/UnitWeb-ThinIta.woff") format("woff");
font-weight: 100;
font-style: italic, oblique;
font-variant: normal;
}
@font-face { /* THIN ITALIC */
font-family: UnitNormal;
src: url("../gfx/fonts/UnitWeb-ThinIta.eot")
src: url("../gfx/fonts/UnitWeb-ThinIta.eot?#iefix") format("embedded-opentype"),
url("../gfx/fonts/UnitWeb-ThinIta.woff") format("woff");
font-weight: 100;
font-style: italic, oblique;
font-variant: normal;
}https://stackoverflow.com/questions/14274118
复制相似问题