Fonts @IE8中带有数据URI的字体不起作用
我无法在Internet Explorer 8中使用数据URI中的base64编码我的自定义字体。以下是我的fon face css:Fonts @IE8中带有数据URI的字体不起作用,fonts,base64,data-uri,Fonts,Base64,Data Uri,我无法在Internet Explorer 8中使用数据URI中的base64编码我的自定义字体。以下是我的fon face css: @font-face { font-family: 'myfont'; src: url('data:application/x-font-woff;base64,[BASE_64_HERE]'), url('data:font/eot;base64,[BASE_64_HERE]') format('embedded-open
@font-face {
font-family: 'myfont';
src: url('data:application/x-font-woff;base64,[BASE_64_HERE]'),
url('data:font/eot;base64,[BASE_64_HERE]') format('embedded-opentype');
}
它在Chrome中运行良好,但在IE8中不起作用。我很确定IE8不支持多个src声明。话虽如此,我也在做同样的事情:
@font-face {
font-family: 'myfont';
src: url('data:font/eot;base64,[BASE_64_HERE]') format('embedded-opentype');
}
但它在ie8中仍然不起作用。我在想可能是语法问题?我希望其他人能提供帮助。“[data URI]在IE 7/8中失败,当时我试图将其应用于一种正文字体,使用多个字体文件以获得不同的权重和样式。我找到的解决方案是只需在@font-face声明中设置字体权重和字体样式。很简单。”
来源:IE8传统的
@font-face
声明是:
@font-face {
font-family: 'MyFontFamily';
src: url('myfont-webfont.eot');
src: url('myfont-webfont.eot?#iefix') format('embedded-opentype'),
url('myfont-webfont.woff') format('woff'),
url('myfont-webfont.ttf') format('truetype'),
url('myfont-webfont.svg#svgFontName') format('svg');
}
如果要使用嵌入式URI,必须将@font-face
拆分为两个声明:
@font-face {
font-family: 'MyFontFamily';
src: url('myfont-webfont.eot');
}
@font-face {
font-family: 'MyFontFamily';
src: url('myfont-webfont.eot?#iefix') format('embedded-opentype'),
url(data:...) format('woff'),
url(data:...) format('truetype'),
url('myfont-webfont.svg#svgFontName') format('svg');
}
确保所有字体样式(font-style
或font-weight
)在两个@font-face
声明上重复
请参见在ie8中使用数据URI有一些限制。据caniuse.com称: 支持仅限于图像和链接资源,如CSS文件,而不是HTML或JS文件。最大URI长度为32KB