在IE8中嵌入FontAwesome字体时出现CSS3111错误
我在我的页面上使用FontAwesome(http://fortawesome.github.com/Font-Awesome/)作为网页字体:
http://www.jungledragon.org/apps/jd3/
我的问题是,字体无法加载IE8(标准模式),而是显示方块。 由于这些图标对设计至关重要,因此我很想解决这个问题。
我已经研究了很多问题和答案,所以让我告诉你我做了什么来解决这个问题。 首先,我使用推荐的格式来嵌入此字体:
@font-face {
font-family: 'FontAwesome';
src: url('../type/fontawesome-webfont.eot');
src: url('../type/fontawesome-webfont.eot?#iefix') format('embedded-opentype'),
url('../type/fontawesome-webfont.woff') format('woff'),
url('../type/fontawesome-webfont.ttf') format('truetype'),
url('../type/fontawesome-webfont.svg#FontAwesome') format('svg');
font-weight: normal;
font-style: normal;
}
这是加载字体x浏览器的事实上的标准,以及与FontSquirrel等工具生成的输出相同的输出。 类型目录与我的CSS目录相关,并且此字体将在除IE8之外的所有浏览器中加载。
其次,我已经跨域启用(CORS),所以这绝对不是问题。
有些人建议加载html5 shiv可能会干扰IE8加载字体,但是一起删除shiv加载仍然没有什么区别。
该网站在Apache2上运行,添加MIME类型似乎对结果没有任何影响。 另外,我可以确认我可以使用直接路径从IE8下载eot文件,因此该文件是绝对可访问的。
我不知道我做错了什么,但它肯定是我的最终目标。 原因很简单:从IE8打开官方的FontAwesome网站将会加载字体。 另外,我使用的辅助字体(在网站徽标中使用的字体)也呈现得很好。 第二种字体来自Google webfonts,而fontawesome字体与网站位于同一个域中。
我正在想出如何解决这个问题的任何线索?
更新:我应该添加在IE开发工具栏中,这是我得到的错误:
CSS3111:@ font-face遇到未知错误。 fontawesome-webfont.eot
我发现这篇文章讨论了这个错误:
http://www.marinbezhanov.com/web-development/16/how-to-embed-webfonts-properly-and-how-to-solve-the-ambiguous-css3111-font-face-encountered-unknown-error/
...但我没有看到里面的解决方案,帮助我。
最终,这个答案解决了我的问题:
https://stackoverflow.com/a/12459447/80969
我不得不使用一个不起眼的字体编辑程序编辑fontawesome下载包附带的ttf文件。 在那里,我将“人类字体名称”重命名为与所有其他“名称”字段相同。 接下来,我使用http://www.font2web.com/生成一个新的.eot文件并将其集成到项目中,保持其他所有内容一致。 和presto,它的作品!
它看起来像我的版本的字体真棒有问题内置到下载。
可能值得检查http://fontface.codeandmore.com/blog/ie-7-8-error-with-eot-css3111/也。
链接地址: http://www.djcxy.com/p/93471.html