Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/35.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@font-face有时可以在Internet Explorer中使用,但并不总是如此_Css_Internet Explorer_Font Face_Mime Types_Webfonts - Fatal编程技术网

CSS@font-face有时可以在Internet Explorer中使用,但并不总是如此

CSS@font-face有时可以在Internet Explorer中使用,但并不总是如此,css,internet-explorer,font-face,mime-types,webfonts,Css,Internet Explorer,Font Face,Mime Types,Webfonts,Internet Explorer 11中的web字体有问题。该字体适用于某些使用IE11的用户,但不适用于其他用户,即使是同一浏览器。Modernizr.fontface对于遇到问题的用户仍然返回true,因此我可以排除这种情况 下面是CSS @font-face { font-family: 'Balthazar'; font-style: normal; font-weight: 400; src: url('/assets/fonts/Balthazar/

Internet Explorer 11中的web字体有问题。该字体适用于某些使用IE11的用户,但不适用于其他用户,即使是同一浏览器。Modernizr.fontface对于遇到问题的用户仍然返回true,因此我可以排除这种情况

下面是CSS

@font-face {
    font-family: 'Balthazar';
    font-style: normal;
    font-weight: 400;
    src: url('/assets/fonts/Balthazar/Balthazar.eot'); /* IE9 Compat Modes */
    src: local('Balthazar Regular'), 
         local('Balthazar-Regular'),
         url('/assets/fonts/Balthazar/Balthazar.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
         url('/assets/fonts/Balthazar/Balthazar.woff2') format('woff2'), /* Modern Browsers */
         url('/assets/fonts/Balthazar/Balthazar.ttf')  format('truetype'), /* Safari, Android, iOS */
         url('/assets/fonts/Balthazar/Balthazar.svg#Balthazar-Regular') format('svg'); /* Legacy iOS */
    unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}

IE试图呈现ttf文件,因此我认为这可能是mime类型的问题。部分原因是:我将mime类型更新为application/x-font-ttf,它至少为一个用户修复了mime类型,但另外两个用户仍遇到此问题。然后我尝试在WOFF2之后添加一个WOFF,但仍然不起作用

我不知所措。请帮忙。

试试这些

1.检查DRM错误 如果点击F12,重新加载页面,并查看F12工具的控制台选项卡,是否会看到任何错误消息,例如“@font-face失败的OpenType嵌入权限检查”?如果你这样做了,很可能是字体上的DRM问题,IE 11方面和其他方面没有

2.检查MIME类型设置(再次) 确保mime类型与此处回答的匹配(您列出的类型不匹配):“”

3.确保CSS名称与字体文件中的名称匹配 如果这不起作用,CSS中声明为字体名称的名称是否与文件本身中存储的名称匹配

4.使用GoogleWebFont加载程序
如果修复mime类型不能解决您的问题,请尝试使用google fonts webfont loader,如以下回答中所述:

此回答可能更适合作为对问题的一个或多个评论,因为它更多的是一个建议列表,表明它是一个确定答案的尝试。重写部分内容以减少被动语态。这是几个可能的答案。IE 11“防弹”字体实际上没有第一个解决方案中的关键部分那么全面。解决方案的关键部分是,文件上可能有DRM,而IE 11在其他浏览器上没有。解决了!它是将.woff添加回mime类型的application/font-woff的组合。显然,application/x-font-woff并不像一些文章所说的那样可靠。绝对不是DRM。绝对不是打字错误。