Internet explorer IE字体和字体问题&;我们尝试过的解决方案

Internet explorer IE字体和字体问题&;我们尝试过的解决方案,internet-explorer,fonts,cross-browser,font-face,webfonts,Internet Explorer,Fonts,Cross Browser,Font Face,Webfonts,我知道这是一个常见的问题,我尝试了几乎所有我能找到的解决方案,我想知道显示一点代码是否会更有用 问题 我正在尝试为客户端实现4种字体。当前文件已使用字体squirrel生成。但是,这些字体根本不适用于IE7/8,部分适用于IE9 字体本身的跨浏览器呈现不是这里的问题,我只是希望它被显示出来 我们试过的 我们(在我工作的公司)花了很多时间做以下工作: 我们发现了多个语法,字体squirrel一个更完整。 在页面加载几秒钟后,用JavaScript重新加载CSS(用于旧项目)。 检查所有语法问题。

我知道这是一个常见的问题,我尝试了几乎所有我能找到的解决方案,我想知道显示一点代码是否会更有用

问题 我正在尝试为客户端实现4种字体。当前文件已使用字体squirrel生成。但是,这些字体根本不适用于IE7/8,部分适用于IE9

字体本身的跨浏览器呈现不是这里的问题,我只是希望它被显示出来

我们试过的 我们(在我工作的公司)花了很多时间做以下工作:
我们发现了多个语法,字体squirrel一个更完整。
在页面加载几秒钟后,用JavaScript重新加载CSS(用于旧项目)。
检查所有语法问题。
检查是否存在404错误
使用相同的名称,但字号不同
尝试添加?#iefix和使用的特定格式

截图

示例代码 您可以在以下网站现场观看:

语法 谢谢大家!

请到这里:


IE 6、7和8不起作用。每个浏览器呈现字体之间的不一致是一个众所周知的问题。在我看来——根据你的屏幕截图——现代浏览器的表现也令人期待。所有基于webkit的浏览器(safari、chrome和opera)在呈现时应该比firefox或IE9更接近

我冒昧地从您的示例下载了所有文件和代码

我注意到您缺少了«本地命令☺')»属性在CSS声明中,请查看以下示例的第三行:

@font-face {
    font-family: 'SofiaProBold';
    src: url('Sofia-Pro-Bold.eot');
    src: local('☺'), url('Sofia-Pro-Bold.ttf') format('truetype'), url('Sofia-Pro-Bold.svg') format('svg');
    font-weight: normal;
    font-style: normal;
}
您可以在IE8(PC)中的

这个小把戏解决了Sofia字体的问题,但不幸的是,对于Didot字体不起作用。我可以假设该字体最初不是web字体,或者有版权,fontsquirrel无法对其进行转换

以下仅是我的个人意见

使用字体时,请尝试将所有@font-face声明放在包含所有字体文件的同一目录中的CSS文件中,然后将此类CSS文件链接到文档的

例如:

/fonts/myfont/myfont.css « add to the document's <head>
/fonts/myfont/myfont.woff
/fonts/myfont/myfont.eot
/fonts/myfont/myfont.ttf
/fonts/myfont/myfont.svg
/font/myfont/myfont.css«添加到文档的
/字体/myfont/myfont.woff
/字体/myfont/myfont.eot
/字体/myfont/myfont.ttf
/字体/myfont/myfont.svg

这不仅可以更容易地找到应用的@font-face,而且还可以避免在
url('myfont/font.ttf')
属性中使用相对/绝对路径。

谢谢!渲染不是问题(是的,但现在并不重要)。该字体适用于这些版本的IE上的其他字体。完美!它适用于IE7和IE8。由于某些原因(可能是许可/损坏问题),仍然无法在IE9中呈现,但我使用了另一种字体!谢谢!
/fonts/myfont/myfont.css « add to the document's <head>
/fonts/myfont/myfont.woff
/fonts/myfont/myfont.eot
/fonts/myfont/myfont.ttf
/fonts/myfont/myfont.svg