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 Internet Explorer@font-face正在失败_Css_Internet Explorer_Font Face - Fatal编程技术网

Css Internet Explorer@font-face正在失败

Css Internet Explorer@font-face正在失败,css,internet-explorer,font-face,Css,Internet Explorer,Font Face,我正试图让Internet Explorer呈现我漂亮的字体。它不起作用了。它们在Firefox中运行良好,我可以在Apache访问日志中看到IE已经删除了这些字体。因此,它正在解析字体面CSS标记,而不是呈现它们 我用来转换字体的网站是:。我试过微软的WEFT工具,但它不能正常工作。在安装和打开它之后,它说“第一次运行它,做这个…”,然后它继续挂起 以下是我的CSS: @font-face { font-family: 'HelveticaLTCN'; src: url('Helv

我正试图让Internet Explorer呈现我漂亮的字体。它不起作用了。它们在Firefox中运行良好,我可以在Apache访问日志中看到IE已经删除了这些字体。因此,它正在解析字体面CSS标记,而不是呈现它们

我用来转换字体的网站是:。我试过微软的WEFT工具,但它不能正常工作。在安装和打开它之后,它说“第一次运行它,做这个…”,然后它继续挂起

以下是我的CSS:

@font-face
{
   font-family: 'HelveticaLTCN';
   src: url('HelveticaNeueLTCom-LtCn_0.eot');
   src: local('HelveticaNeuel TCom LtCn'), url('HelveticaNeueLTCom-LtCn_0.ttf') format('TrueType');
}
关于IE为什么不呈现字体有什么想法吗

编辑:还应提及,我将字体命名为:

p .mytext
{
   font-family: HelveticaLTCN;
}

IE不会接受在src描述符中包含格式字符串的字体-第二行src可能是罪魁祸首。如果删除它(或删除格式字符串),会发生什么情况


下一步-有时候,IE可能有点迂腐,关于是否在CSS中使用引号括起值。试试字体系列:“Helveticalcn”?

你需要检查的一件事是

如果使用url('HelveticaNeueLTCom-LtCn_0.eot'),则.css文件和.eot应位于同一文件夹中

或者执行完整的url路径,如src:url()

据我所知,报价是可选的


ps#我在我的博客中做字体嵌入已经很长时间了,效果很好。

如果你已经认输了,或者你还在为此挣扎,我强烈推荐。它取代纬纱远比任何其他在线。eot发电机。作为一个巨大的奖励,它在一个zip文件中提供了所有需要的跨浏览器格式,以及一个工作的CSS+HTML示例页面。
这是迄今为止最接近@fontface nirvana的事情。

我和帕纳斯遇到了同样的问题。我使用onlinefontconverter.com将ttf转换为eot。好吧,这似乎就是问题所在:正如atsjr指出的那样,我刚刚尝试了fontsquirrel.com,一切都很好

Internet Explorer对其中的其他@font-face定义有点不确定。我以前发现这对我有很大的帮助-

简言之,他们推荐的最佳方式如下。唯一的更改是在字体url的末尾添加一个问号。奇怪,不是吗

@font-face {
  font-family: 'Graublau Web';
  src: url('GraublauWeb.eot?') format('eot'), url('GraublauWeb.woff') format('woff'), url('GraublauWeb.ttf') format('truetype');
}

列出了许多其他替代方案,即为EOT文件指定单独的@font-face标记与其他标记。

在解决类似问题时,我注意到
DOCTYPE
定义会以某种方式影响
IE
中的嵌入式字体。当我删除DOCTYPE定义时,字体显示正确。

请记住:.eot字体必须是最后一个“src”。如果没有,IE将重写配置并使字体崩溃

@font-face {
    font-family: "Aller Bold";
    src: url(fonts/Aller_Bd.ttf) format("truetype");
    src: url(fonts/Aller_Bd.eot);
}

此代码可以解决我在IE中的问题:

  @font-face {
      font-family: 'kurdish';
      src: url('font/zkurd_aras.eot?') format('eot'), url('font/zkurd_aras.woff') format('woff'), url('font/zkurd_aras.ttf') format('truetype');}

字体的最佳定义是:

@font-face {
  font-family: 'Graublau Web';
  src: url('GraublauWeb.eot?') format('eot'), url('GraublauWeb.woff') format('woff'), url('GraublauWeb.ttf') format('truetype');
}

我遇到了许多人在这里遇到的同样的问题。问题很简单,IE对字体系列的值有一个较短的字符限制。我给了我的字体家族一个较短的名字,它最终使用了字体松鼠吐出来的css


奇怪的一个

最好在本地而不是在线引导font-face属性,例如url(“../font/font-name.eot”)。IE和其他浏览器在本地服务器上运行网页时不会“看到”字体。

对我有效的是以下声明:

@font-face {
    font-family: 'Frutiger45LightBoldItalic';
    src: local('☺'), url('../font/frutiger-bolditalic-webfont.woff') format('woff'), url('../font/frutiger-bolditalic-webfont.ttf') format('truetype'), url('../font/frutiger-bolditalic-webfont.svg#webfontR2tDy7QH') format('svg'), url('../font/frutiger-bolditalic-webfont.eot');
}
因此,只有1个
src
属性,
.eot
位于属性末尾,没有问号

我以前试过但不起作用的:

  • 将.eot放在单独的行上(在另一个
    src
    之前或之后)
  • .eot

IE的一个特殊之处是,它要求字体族名称与字体属性中的名称完全相同。虽然Chrome和其他浏览器允许您根据需要命名字体系列,但IE并非如此,这对我很有用:

@font-face {
    font-family : 'din-pro';
    src         : url('../fonts/din/DINPro-Medium.woff') format('woff');
    src         : url('../fonts/din/DINPro-Medium.otf') format('otf');
    src         : url('../fonts/din/DINPro-Medium.ttf') format('truetype');
    font-weight : 500;
    font-style  : normal;
}

@font-face {
    font-family : 'din-pro';
    src         : url('../fonts/din/DINPro-Regular.woff') format('woff');
    src         : url('../fonts/din/DINPro-Regular.woff2') format('woff2');
    src         : url('../fonts/din/DINPro-Regular.ttf') format('truetype');
    font-weight : 400;
    font-style  : normal;
}
@font-face {
    font-family : 'din-pro-ie';
    src         : url('../fonts/din/DINPro-Regular.eot?');
    font-weight : 400;
    font-style : normal;
}
@font-face {
    font-family : 'din-pro-ie';
    src         : url('../fonts/din/DINPro-Medium.eot?');
    font-weight : 500;
    font-style : normal;
}

注意,我用
-IE
后缀分别定义了IE的字体。当使用字体时,我会做一些类似于
p{font-family:din-pro,din-pro-ie}
。使用仿真从IE5开始测试和工作。

您可以使用以下强大的@font字体将TTF字体转换为现代格式(即WOFF):

@font-face {
  font-family: 'MyWebFont';
  src: url('webfont.eot'); /* IE9 Compat Modes */
  src: url('webfont.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
       url('webfont.woff2') format('woff2'), /* Super Modern Browsers */
       url('webfont.woff') format('woff'), /* Pretty Modern Browsers */
       url('webfont.ttf')  format('truetype'), /* Safari, Android, iOS */
       url('webfont.svg#svgFontName') format('svg'); /* Legacy iOS */
}

来源:

我在每个字体系列中添加了引号,并从字体中删除了第二个“src”。还是不行。可能会尝试此程序:。我将报告结果>。CSS都嵌入在HTML文档中。HTML文档和字体位于同一目录中。以防万一,我尝试使用完整路径URL而不是相对路径URL。还是不行。下面是当前的代码:如果它有任何问题,那么它是在本地主机上运行的。虽然我不明白为什么会这样。还有什么想法吗/*{font-family:helveticalcn;}您是否为所有标记尝试了*too?如果这一个不工作,可能是你应该尝试WEFT再次。我使用纬纱,它对我来说很好。不,伙计,还是失败了。你在Vista上吗?当我试着运行WEFT时,它会在第一次加载字体时崩溃。我试着将它设置为在Windows98(兼容模式)下运行,同样的事情也发生了。您使用的是什么版本的Windows?:/我的是XP,顺便说一句,如果你能在网上某个地方发布你的测试页面,那么一些人可以查看它。我目前没有服务器设置,我可以上传字体+html到。但所有相关代码都在我发布的codepad.org链接中。我能想到的唯一问题就是字体。代码本身很好。我想我会尝试让WEFT工作。它确实为用户提供了非常有用的选项。例如,指出SVG和WOFF广告适合(在某些情况下,它也列出了哪些)格式。。。文件对话框有点问题,但我不知道为什么…:(我想我爱上了font squirrel。非常感谢你的链接。helvetica neue被font squirrel列入黑名单。还有其他选择吗?font squirrel解决了我的问题