在这种情况下,一切正常,字体显示正确:
@font-face {
font-family: 'CalibriRegular';
src: url('fonts/calibri.eot');
}
但是当我添加其他格式时,IE8中不会显示字体:
@font-face {
font-family: 'CalibriRegular';
src: url('fonts/calibri.eot');
src: url('fonts/calibri.eot') format('embedded-opentype'),
url('fonts/calibri.woff') format('woff'),
url('fonts/calibri.ttf') format('truetype'),
url('fonts/calibri.svg#CalibriRegular') format('svg');
}
有什么问题?感谢
答案 0 :(得分:2)
过去我使用@font-face
后,我使用了以下内容;
@font-face {
font-family: 'webfontregular';
src: url('../fonts/font.eot');
src: url('../fonts/font.eot?#iefix') format('embedded-opentype'),
url('../fonts/font.woff') format('woff'),
url('../fonts/font.ttf') format('truetype'),
url('../fonts/font.svg#webfontregular') format('svg');
font-weight: normal;
font-style: normal;
}
我能看到的唯一区别是#iefix
附加到第二个.eot
声明的末尾。这可以解决吗?我从未遇到过使用IE7 +的问题。
答案 1 :(得分:1)
在多个src列表中出现的eot上需要一个哈希,通常是?#iefix
的约定。
这解释了原因:
How does ?#iefix solve web fonts loading in IE6-IE8?
@font-face {
font-family: 'CalibriRegular';
src: url('fonts/calibri.eot');
src: url('fonts/calibri.eot?#iefix') format('embedded-opentype'),
url('fonts/calibri.woff') format('woff'),
url('fonts/calibri.ttf') format('truetype'),
url('fonts/calibri.svg#CalibriRegular') format('svg');
}