Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css @字体脸可以在IE8中使用,但不能在IE9中使用_Css_Internet Explorer_Font Face_Embedded Fonts - Fatal编程技术网

Css @字体脸可以在IE8中使用,但不能在IE9中使用

Css @字体脸可以在IE8中使用,但不能在IE9中使用,css,internet-explorer,font-face,embedded-fonts,Css,Internet Explorer,Font Face,Embedded Fonts,如上所述,尽管@font-face在其他浏览器(包括IE8及以下浏览器)中显示良好,但我在IE9中没有显示@font-face存在问题。此外,当在我的计算机上本地查看时,IE9确实会显示字体,只是在完全激活时不会显示 该网站是: 使用的代码是: @font-face { font-family: 'LeagueGothicRegular'; src: url('league_gothic_0-webfont.eot');

如上所述,尽管@font-face在其他浏览器(包括IE8及以下浏览器)中显示良好,但我在IE9中没有显示@font-face存在问题。此外,当在我的计算机上本地查看时,IE9确实会显示字体,只是在完全激活时不会显示

该网站是:

使用的代码是:

    @font-face {
                font-family: 'LeagueGothicRegular';
                src: url('league_gothic_0-webfont.eot');
                src: local('League Gothic Regular'), url('league_gothic_0-webfont.woff') format('woff'), url('league_gothic_0-webfont.ttf') format('truetype'), url('league_gothic_0-webfont.svg#webfonta36nFpyE') format('svg');font-weight: normal;font-style: normal;
}
有人知道为什么会发生这种情况吗

干杯

=============================================

编辑 我发现下面的网站在IE9中显示了相同的字体ok,有什么想法吗


既然你已经编辑了你的文章,下面的文字就不是答案。您是否指向正确的目录?这有可能是来自服务器的mime类型问题吗

====================================================

这可能是:

需要注意的是,您的站点必须以documentMode 9呈现,以利用IE9中包含的新功能(包括IE9中的所有新功能,而不仅仅是与web字体相关的功能)。如果您以前没有听说过documentMode,这将解释它是什么以及如何在您的站点上使用它

没有回答,只是确认一下:我也有类似的问题。字体在除IE9之外的所有其他IE版本中都可以使用,无论是使用IETester还是原始浏览器。更改文档模式(F12开发工具)时,字体起作用。但不是我想要的

更新:通过一些技巧,我成功地让它工作起来。看起来IE9使用的是.woff版本的字体(我已经排除了它),而不是我认为应该使用的.eot。我使用from获得所有不同的字体变体,并使用-local将它们包含在我的项目中。不必更改我的.htaccess文件。现在工作正常,在所有IE版本中看起来都一样:

@font-face {
  font-family: "LucidaFax-bold";
  src: url("_font/LucidaFax-bold.eot");
  src: local("☺"),
  url("_font/LucidaFax-bold.woff") format("woff"),
  url("_font/LucidaFax-bold.ttf") format("truetype"),
  url("_font/LucidaFax-bold.svg#LucidaFax-bold") format("svg");
  }

h1 { font-family: "LucidaFax-bold", serif;}


(我甚至对使用Mark“Tarquin”Wilton Jones的黑客技术感到非常愤怒,将相同的外观应用到IE版本中,与浏览器世界的其他版本一样。老派风格?看起来很棒!值得吗?嗯,学到了很多。

我刚刚在IIS7网站上遇到了同样的问题,因为问题在于MIME类型

根据问题的答案,我选择使用“应用程序/八位字节流”

  • 打开IIS并选择承载字体的站点(IE9和Firefox的域名必须相同)
  • 双击“Mime类型”
  • 单击右上角的“添加…”
  • 在“文件扩展名”中:“输入“.woff”
  • 在“MIME类型”中,输入“应用程序/八位字节流”

  • 希望这能为将来的用户节省10分钟。

    在IE9-F12中,查看调试屏幕,查看是否有任何CSS3117错误。 另请参阅:

    您应该查看Paul Irish的博客文章,他对您遇到的问题有几点要说,他提出了一种他称之为“防弹”字体的声明


    对我们来说,诀窍是只更改我们提供的.eot文件的格式

    适用于IE6-9、Firefox 3-4、Chrome、Safari、Android和iPhone

    @font-face {
        font-family: 'Museo';
        src: url('/ui/museo300.eot?') format('eot'),
             url('/ui/museo300.ttf')  format('truetype')
    }
    
    变成:

    @font-face {
        font-family: 'Museo';
        src: url('/ui/museo300.eot?') format('embedded-opentype'),
             url('/ui/museo300.ttf')  format('truetype')
    }
    

    我的解决方案是声明两种不同的字体:

    @font-face {
        font-family: "Dereza bold";
        src: local("Dereza bold"), url("../../assets/otf/dereza_bold.otf") format("opentype"); 
    }
    
    @font-face {
        font-family: "IE Dereza bold";
        src: url("../../assets/eot/dereza_bold.eot");
    }
    
    然后:

    .divclass {
      font-family: "Dereza bold", "IE Dereza bold";
    }
    
    Abalore+1

    我的解决方案:

    @font-face {
        font-family: "OfficinaSansBookSCC";
        src: url('font/OfficinaSansBookSCC.eot'); 
        src: url('font/OfficinaSansBookSCC.eot') format('embedded-opentype'), 
             url( 'font/OfficinaSansBookSCC.ttf' ) format("truetype");
    } 
    
    在IE 7-9、chrome、opera和firefox中工作

    IE9需要的第一行,IE7-8需要的第二行。

    将此用于其示例CSS,该CSS对我正在进行的项目很有效

    @font-face {
        font-family: 'QuicksandBook';
        src: url('/Quicksand_Book-webfont.eot');
        src: url('/Quicksand_Book-webfont.eot?#iefix') format('embedded-opentype'),
             url('/Quicksand_Book-webfont.woff') format('woff'),
             url('/Quicksand_Book-webfont.ttf') format('truetype'),
             url('/Quicksand_Book-webfont.svg#QuicksandBook') format('svg');
        font-weight: normal;
        font-style: normal;
    }
    
    还提供了一个出色的生成器工具,帮助您创建一个字体工具包,其中包括所需的格式、已编写的CSS,甚至还有一个演示页面,以了解如何使用这些格式,以及您可能遇到的问题的帮助


    将它的输出整合到我的站点是轻而易举的事,它确实完美地解决了这个问题。

    我遇到了这个问题。事实证明,我在字体系列声明中缺少了一个逗号。

    我想添加另一个可能在这种情况下出错的内容。IE9有一条规则,丢弃第一次加载后无法缓存的所有@font-face声明。IE9将在第一次显示时正确使用字体,但在后续刷新时,@font-face将被禁用。我偶然地关闭了浏览器,然后重新打开它,发现我的字体在神秘地工作,但一次刷新后就停止了工作


    要解决这个问题,您只需确保为您的字体提供服务的请求有一个
    缓存控制
    响应头,而不是
    无缓存
    。我建议将其设置为
    max age=3600
    。这将确保您的字体被缓存一小时。IE9将能够一致地显示您的字体。

    很抱歉进行编辑!.eot文件与推荐的css位于同一目录中。这可能是一个mime类型的问题,尽管我不是100%确定如何探索这种类型的问题。我确定这不是——只是我脑海中突然出现的事情之一。我的另一个想法是,这是一个权利问题。我发现了这篇文章:它似乎建议微软在决定是否显示字体时测试授权。也许这可以解释本地/服务器之间的差异。不过,我承认,在这一点上我有点不知所措。我最终使用meta标签让IE9像IE8一样运行,就是为了达到这个效果。这并不理想,因为我失去了一些不错的CSS3效果,但比我一直使用的糟糕的字体渲染效果要好!更新!使用这种技术,我还可以让IE9显示@font-face,尽管奇怪的是,只有当所有内容都用“font\u-here”而不是我最初使用的“font\u-here”包装时,IE9才会显示@font-face。这会有所不同吗?我对此表示怀疑,但按照Tobias展示的布局,一切都会很好!尝试使用smiley,但字体名称周围不带“”。字体系列:LucidaFax bold。。。听起来很愚蠢,但对我来说很有用。。或者看看这里:字体文件非常小,如果你想满足所有主要的需求,你真的没有选择browsers@KisGabo你