This question already has answers here:
How does ?#iefix solve web fonts loading in IE6-IE8?

(4个答案)


6年前关闭。




我对css @ font-face有疑问。我正在从此网站(http://www.fontspring.com/blog/the-new-bulletproof-font-face-syntax)使用以下代码。
@font-face {
font-family: 'MyFontFamily';
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');
}

为什么“url('myfont-webfont.eot?#iefix')”行的末尾带有“#iefix”?

最佳答案

这是因为IE8及以下版本解释字体声明的方式。在这些版本的IE中,正常的url('myfont-webfont.eot')将导致404服务器错误;添加?#iefix可解决服务器问题。 (出于同样的原因,也有IE的条件样式表。)

根据Fontspring(直接从来源):



因此,必要的部分是?;我认为#iefix只是程序员的语义行,不会被浏览器以任何特定方式解释。

如果您愿意,这里有一些更多信息:https://github.com/stubbornella/csslint/wiki/Bulletproof-font-face

07-25 20:58