代码之家  ›  专栏  ›  技术社区  ›  Alexander Holman

字体自定义不在Chrome中呈现字体

  •  4
  • Alexander Holman  · 技术社区  · 11 年前

    只有当开发人员工具关闭时,我才在Chrome中遇到问题。

    Image

    基本上,你可以从上面看到,图标有时是自定义字体,根本不会输出。

    对于那些看不到图像的人,通过css输出的图标 :before 例如,内容输出为 ï…ˆ 而不是图标。

    以下是css输出的示例:

    .blog_module #page_content .social_buttons ul li.facebook a:before, .blog_module #pre_content .social_buttons ul li.facebook a:before {
      content: "ï„";
      font-family: 'icons';
      speak: none;
      font-style: normal;
      font-weight: normal;
      font-variant: normal;
      text-transform: none;
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
    }
    

    我知道内容是 ï„ 就我个人而言,我不确定fontcustom为什么以这种方式输出它,但9/10它有效。

    我以为可能是字符编码?但为什么它只是偶尔发生?

    有人知道这是什么以及如何修复它吗?

    我还以为它可能没有及时下载,但一旦下载了字体,它不会改变吗?这就是通常发生的事情。。。

    任何想法、建议或答案,我都将不胜感激!

    1 回复  |  直到 11 年前
        1
  •  1
  •   user4533873 user4533873    11 年前

    听起来你有一些好的建议,但我会给你的答案是——不要使用图标字体。

    如果签出fontastic.me,则可以选择输出SVG图标精灵。

    它更具交叉兼容性 高兴 与之合作。

    SVG似乎只起作用(如果支持的话)。图标字体似乎以奇怪的方式失败。例如,您将字符映射到普通字母,然后字体加载失败,您会得到大量随机字符。或者您映射到“专用区域”“有些浏览器决定将它们重新映射到真正奇怪的字符,如玫瑰,但很难复制。或者你想在CDN上托管@font face文件,但这是跨源的,Firefox讨厌这样,所以你需要你的服务器提供正确的跨源头,但你的Nginx设置并没有正确处理,SIGH。”-Chris Coyier

    此处的文章: http://css-tricks.com/svg-sprites-use-better-icon-fonts/

    还有伊恩·费瑟的另一个精彩片段: http://ianfeather.co.uk/ten-reasons-we-switched-from-an-icon-font-to-svg/

    如果你得到了一个小片段,这些很快就能实现。

    图标字体有太多的异常需要解释。

    推荐文章