【问题标题】:Font awesome and ie7 issues字体真棒和ie7问题
【发布时间】:2013-11-09 06:59:02
【问题描述】:

我正在使用 bootstrap 3 并且必须支持 ie7。理想情况下,我想为图标使用字体。它们在除 ie7 之外的所有其他浏览器中运行良好 :(

在字体真棒网站上使用 ie 图标看起来很好 - 我看过有什么不同,但我看不到任何不寻常的东西。我已按照说明按顺序添加了 css 等...

我没有少用。这是我的测试站点的链接https://googledrive.com/host/0B8UWGEiox1HOZnV6ZTA3bzNvMTA/testsite.html

测试站点使用 ie tester 显示字体很棒,但不是 100% 准确。我正在使用真正的ie7进行测试,字体只是正方形。

请任何人看看这里发生了什么,因为我已经结束了!

<head>
<title>Home</title>
<meta name="viewport" content="width=device-width, initial-scale=1.0">

<link href="css/main.css" rel="stylesheet" media="screen">
<!--[if lt IE 8]>
    <link href="css/main-ie7.css" rel="stylesheet">
<![endif]-->

<link rel="stylesheet" href="css/font-awesome.css" />
<!--[if IE 7]>
<link rel="stylesheet" href="css/font-awesome-ie7.min.css" />
<![endif]-->

<!--[if lt IE 9]>
<script src="js/html5shiv.js"></script>
<script src="js/respond.min.js"></script>
<![endif]-->

</head>

【问题讨论】:

  • 您的 .eot 文件使用了错误的 MIME 类型,这可能是问题的原因。

标签: html css internet-explorer twitter-bootstrap fonts


【解决方案1】:

也许字符集被错误地假定了。尝试在&lt;head&gt; 中包含&lt;meta charset="utf-8"&gt;

【讨论】:

    【解决方案2】:

    Font Awesome 4.0.1 版不支持 IE7,见其入门页面底部:http://fortawesome.github.io/Font-Awesome/get-started/

    版本 3.2.1 支持,请参阅他们的 IE7 部分在他们的 3.2.1 获取页面底部 http://fortawesome.github.io/Font-Awesome/3.2.1/get-started/

    有一个名为 Icomoon 的应用程序可以创建自定义图标字体,并且可以包含来自 Font Awesome 的图标。他们的旧版应用程序会为 IE7 生成一个 Javascript 文件,允许使用图标字体,旧版应用程序在这里http://icomoon.io/app-old/

    【讨论】:

    • 我正在使用 3.2.1 并阅读了这些说明,所以应该可以工作。谢谢,如果没有人知道为什么会失败,我会看看那个应用程序。
    • 我现在无法查看您的 Google Drive 网站。我总是在我的项目中使用 Icomoon,并且他们的 IE7 javascript 文件有效。此外,你可以从 font awesome 中挑选你想要的图标,这样如果你只需要几个,你就不需要加载每个图标。并确保您使用的是“旧”icomoon 应用程序,我尝试了新的应用程序并没有看到生成的 IE7 JS 文件。
    • 如果您在首选项面板中选中“支持 IE7”复选框,新版本的 IcoMoon 也会生成此 IE7 js 文件。
    【解决方案3】:

    如果您的图标打算在运行时更改,您可以使用以下 CSS 为您需要的任何图标添加对 IE6 和 IE7 的支持:

    .icon-glass {
      *zoom: expression( this.runtimeStyle['zoom'] = '1', this.innerHTML = '&#xf000;');
    }
    

    如果你的图标打算在运行时改变,你可以这样做:

    .icon-glass {
      *top: expression(0, this.innerHTML = '&#xf000;');
    }
    

    不幸的是,第二种方法非常缓慢。虽然它可能在 IE6 中工作,但会显着降低性能,但如果页面上有太多图标,IE7 可能会崩溃。 所以我不会推荐第二种技术,除非您只使用很少的图标并且您可以承受性能下降。

    【讨论】:

      猜你喜欢
      • 2019-06-12
      • 2020-11-11
      • 2016-12-26
      • 2014-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多