【问题标题】:Cross-browser base64 webfonts support跨浏览器 base64 网络字体支持
【发布时间】:2012-06-22 23:38:44
【问题描述】:

中止 EOT 文件加载进度有时,因此字体无法正确加载

  1. eotfast & mhtml 有一个抽象的解决方案,但在 IE7+8 中不支持。

  2. 常规的base64 方法效果很好,但仅适用于 IE9

    src: url('data:font/eot;base64,iVBORw0KGgoAAAANSUhEUgAAAAUAggg=='); /* IE 9 */

+实现内联opentype webfonts的常见解决方案是什么?

【问题讨论】:

    标签: internet-explorer internet-explorer7 internet-explorer8 css internet-explorer internet-explorer-8 internet-explorer-7 stylesheet


    【解决方案1】:

    Internet Explorer 7 不支持数据 URL
    More details on DataURL support

    在这种情况下,使用conditional comments 将非 DataURL 字体提供给 IE7 及更低版本:

    <!--[if (lte IE 7)]>
        <link rel="stylesheet" media="screen" href="css/fontface-ielt8.css" />
    <![endif]-->
    

    Internet Explorer 8 的 DataURL 大小限制为 32KB

    如果您的字体在 IE8 中没有显示,这可能是原因。
    然后尝试通过fontsquirrel(专家模式)或其他应用程序修改字体以减小字体大小。

    希望这会有所帮助。

    【讨论】:

      【解决方案2】:

      看到您的问题不是为 IE7+8 实现内联 opentype webfonts 的问题,而是 Internet Explorer 似乎有时会中止 EOT 文件加载进度的事实,我不得不指出,字体必须符合cross-origin resource sharing

      【讨论】:

      • +1 这是一个很好的安全方法,但绝对不是原因
      猜你喜欢
      • 2011-03-30
      • 2011-01-09
      • 1970-01-01
      • 2012-04-25
      • 2020-02-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-07-01
      相关资源
      最近更新 更多