当前位置: 首页 > 知识库问答 >
问题:

字体在IE8上以方框的形式出现

仲孙鸿畴
2023-03-14

所以我在一个项目中使用了字体Awesome,在测试中遇到了IE8的问题。

在Windows IE9上,Chrome和Firefox可以正确显示字体(就像OS X上的Firefox、Chrome和Safari一样),但在Windows上的IE8有一个问题,我用一个方框来代替字体。

我的代码是:

<!DOCTYPE html>
<!--[if lt IE 7 ]><html class="ie ie6" lang="en"> <![endif]-->
<!--[if IE 7 ]><html class="ie ie7" lang="en"> <![endif]-->
<!--[if IE 8 ]><html class="ie ie8" lang="en"> <![endif]-->
<!--[if (gte IE 9)|!(IE)]><!--><html lang="en"> <!--<![endif]-->

<head>
    <meta charset="utf-8" />
    <title>Site title</title>

    <!--[if lt IE 9]>
        <script src="https://html5shim.googlecode.com/svn/trunk/html5.js"></script>
    <![endif]-->

    <link href=".../css/css.css" rel="stylesheet" type="text/css">
    <link href="../css/print.css" rel="stylesheet" type="text/css" media="print">

    <link href="../apple-touch-icon.png" rel="apple-touch-icon-precomposed">
    <link href="../css/jquery-ui-1.8.23.custom.css" rel="stylesheet" type="text/css">
    <link href="../css/jquery-ui-overrider.css" rel="stylesheet" type="text/css">
    <link href="https://fonts.googleapis.com/css?family=Lato|Michroma&subset=latin&v2" rel="stylesheet" type="text/css">
    <link href="../css/prettify.css" rel="stylesheet" type="text/css">
    <link href="../css/font-awesome.css" rel="stylesheet" type="text/css">
    <!--[if IE 7]>
        <link href="../css/font-awesome-ie7.css" rel="stylesheet">
    <![endif]-->

我有四个字体文件...

  • fontawesome-webfont.eot
  • fontawesome-webfont.svg
  • fontawesome-webfont.ttf
  • fontawesome-webfont.woff

...它们属于的地方,并且它们是世界可读的(755个权限)。我错过了什么?我必须对IE8中的兼容性视图做些什么吗?

同一台电脑在Font Awesome网站上看到的字体很好,所以这一定是我做错了什么。

根据请求,这里有font-awesome.css的副本:font-awesome.css。它或多或少是我从他们那里下载的,除了字体文件的路径。

基于@abody97,我将https://html5shim.googlecode.com/svn/trunk/html5.js添加到混合中(上面的代码已经更新)。仍然没有运气,即使在刷新和删除缓存刷新之后。

共有1个答案

冯新知
2023-03-14

我有同样的问题,并找到了一个解决方案,我会把它贴在这里,以防有人还需要它。

问题是IE无法加载字体文件,它正在构造奇怪的GET请求,返回404个错误。

使用下面的技巧:http://www.fontspring.com/blog/fixing-ie9-font-face-problems我能够修复这个问题。

?#iefix添加到包含字体面的CSS中的eot url(本例中为font-awesome.CSS)

@font-face {
font-family: 'MyWebFont';
src: url('webfont.eot'); /* IE9 Compat Modes */
src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
     url('webfont.woff') format('woff'), /* Modern Browsers */
     url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
     url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}
 类似资料:
  • 问题内容: 是否有内置方式或合理的标准软件包,可让您将标准UUID转换为短字符串,从而启用较短的URL? 即利用了较大范围的字符,例如输出较短的字符串。 我知道我们可以使用base64对字节进行编码,如下所示,但是我正在创建一个看起来像“单词”的字符串,即no 和: 问题答案: 甲通用唯一标识符(UUID)是一个128位的值,它是16个字节。对于人类可读的显示,许多系统使用规范格式,该规范格式使用

  • 如何将字体样式设置为浓缩粗体?还是浓缩粗斜体?FontStyle属性没有标准值以外的值。 我的确切字体是:无数专业字体样式:粗体压缩 如何基于这个truetype创建字体? 注意:字体为.OTF OpenType

  • 下面是AngularJS代码: 在Chromium浏览器调试窗格中,network Headers选项卡显示:远程地址:127.0.0.1:8443请求URL:xxxx:8443/Project-REST/Technologies/4/Dependencies请求方法:GET状态代码:200 OK响应Headersview source Access-Control-Allow-Headers:A

  • 问题内容: 我想知道如何在IE8中制作圆形边框。我在用着 适用于mozilla和safari。 问题答案: 有一个jQuery插件。http://jquery.malsup.com/corner/

  • 问题内容: 在python中,我可以使用os或subprocess运行一些系统命令。问题是我无法以字符串形式获取输出。例如: 我有一个没有功能check_out的较旧版本的子流程,并且我希望有一个不需要更新该模块的解决方案,因为我的代码将在没有完全管理员权限的服务器上运行。 这个问题似乎微不足道,但我找不到微不足道的解决方案 问题答案: 用途: 执行此操作的较新方法(> python 2.6)是使