网上有很多这样的文章:http?#iefix
://www.fontspring.com/blog/fixing-ie9-font-face-problems 建议在eot url中添加一个。我很想知道这将如何解决问题。谢谢。
问问题
50286 次
4 回答
86
IE8 和更早版本的 src 属性的解析器中有一个错误。因此,如果您在 SRC 中包含超过 1 种字体格式,IE 将无法加载它并报告 404 错误。
问号解决了这个问题,因为它使 IE 认为字符串的其余部分(其他 src)是查询字符串,因此只加载 EOT 文件......
其他浏览器将遵循规范并仅加载所需的字体类型。 ..
您可能想阅读 Paul Irish 的Bulletproof @font-face 语法以了解更多关于其他原因的信息...
于 2011-12-26T14:35:50.633 回答
22
您可以做任何事情而不是?#iefix
:基本目标是?#something
在 URL 中的第一个字体文件之后放置一个 @Rexyz 已经回答的问题。
@font-face {
font-family: 'MyWebFont';
src: url('webfont.eot'); /* IE9 Compat Modes */
src: url('webfont.eot?#FooAnything') format('embedded-opentype'), /* IE6-IE8 */
url('webfont.woff') format('woff'), /* Modern Browsers */
url('webfont.ttf') format('truetype'), /* Safari, Android, iOS */
url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}
于 2013-06-07T07:07:18.643 回答
4
完全意识到这是一个老问题。
但是对于那些来这里寻找什么版本的“那个”浏览器需要这个 hack 的人来说,如果你不支持 IE<10,现在可以安全地删除它。
因此,只需摆脱它,只需一行即可枚举您提供的所有格式的所有字体。
于 2018-06-27T00:26:42.687 回答
3
?#iefix
可以阻止浏览器将 之后的任何字符解释为?
查询字符串,从而防止另一个可能的服务器错误。
于 2013-06-05T09:52:11.623 回答