我一直在寻找了几个小时,问朋友,也没有工作。 所以,我希望你们能帮助我。 我的网站使用自定义字体,但IE(10)不支持对我做的方式。 我不知道它支持的其他方法。 这里是我的:
@font-face { font-family: shardee; src:url('fonts/Shardee.ttf'); }
这是没有必要有Internet Explorer中的自定义字体,但它会很高兴。
当Internet Explorer不知道字体,它使用它的默认字体。 但问题是,自定义字体的字体大小是完美的,但IE的默认字体的是太大了。 我尝试了与IE特定的CSS代码修复它,但它只是不工作。 我使用Interner Explorer中进行以下CSS代码:
<!--[if IE]>
<style>
#menu ul li{ font-size:15px; }
</style>
<![endif]-->
我也尝试过通过一个外部的样式表,它是这样的:
<!--[if IE]>
<link rel="stylesheet" type="text/css" href="<?php echo get_stylesheet_directory_uri() ?>/style/ie.css" />
<![endif]-->
我在PHP中使用该功能是一个WordPress的功能,把你带到你的网站的路径。 如果你不使用WordPress,你可以忘记那个代码,并让它空白。
这个问题是不是路径,该路径是正确的。 我特地到浏览器的源代码,而事实证明,我,我有ie.css代码。 在ie.css的代码是完全一样上面,但没有标签等。
我希望你们能帮助我解决这个问题。 2个解决方案是可能的据我所知。 让即特定的CSS工作,或者告诉我的方式在IE中创建自定义字体。 我使用的Internet Explorer版本10。
你可以看到该网站在这里 ,但一旦固定就消失了,因为我并不需要把它放在一个子一旦被固定。
亲切的问候,巴特罗洛夫斯
多种字体格式
为了支持广泛的浏览器,使用.ttf,
.woff
和.eot
字体的版本。
@font-face {
font-family: 'shardee';
src: url('fonts/Shardee.eot');
src: url('fonts/Shardee.eot?#iefix')
format('embedded-opentype'),
url('fonts/Shardee.woff') format('woff'),
url('fonts/Shardee.ttf') format('truetype');
}
您可以使用字体转换的网站像字体松鼠 ,在转换.ttf
字体到.woff
和.eot
。
DRM假阳性
作为@Jukka指出,有与同时防止它在Windows中被使用的TTF文件中的法律问题。 在IE显影剂控制台,则显示以下错误消息:
CSS3114: @font-face failed OpenType embedding permission check.
Permission must be Installable.
Shardee似乎是与一个废弃字体未知许可证类型 。 虽然它可能是合法的,使用这种字体时,Windows似乎需要每一个TTF文件有DRM信息明确地说,这是合法的,将它嵌入到网页中。 在IE中的错误是最有可能是假阳性。
为了验证这一点,我把那上已知被合法授权的网站上使用TTF字库。 该TTF版本并没有在IE浏览器,因为DRM错误的。 这个例子肯定是假阳性。 这就是为什么有必要使用多种字体格式的原因之一,为什么像TTF一个单一的格式将无法在所有的浏览器。
虽然Windows不允许IE使用TTF文件,IE仍然可以使用WOFF或EOT版本。 当我测试上述@font-face
上的本地网络服务器规则,使用所有三种字体格式中,Shardee字体在IE中的所有版本都正确呈现(尽管在IE显影剂控制台错误消息)。
步骤来尝试:
- 转换的
.ttf
文件.woff
和.eot
- 上传
.woff
和.eot
文件复制到同一目录中已有的.ttf
文件。 - 更换
@font-face
与上面的一个规则。 我在它的最初版本修正了几个错别字。
如果仍然有问题,有可能是与Web服务器的设置的问题。 相关问题: IE9块跨域Web字体下载
所以,这个问题显然是,关于IE 10,菜单,与元素中id=menu
,不会出现在声明的字体“shardee”,但在浏览器的默认字体。 这实际上使得菜单的可读性。 但在技术上,该解释可以在开发者工具(按F12进入它们)可见,在控制台窗格中。 错误信息,用代码CSS3114,告诉@font-face
没有通过对使用权检查的嵌入。
退房字体的使用权,并与版权持有人(这是被推定高见)获得可能的话的权利。
FontPrep是一个优秀的Web字体生成器为Mac OS X.它甚至会创建一个fonts.css
IE11:如果您收到CSS3114
在开发工具的错误代码,您需要修改字体文件的第一位。 这将使IE安装字体。
NPM模块:您可以使用ttembed-js
NPM模块,这将使得修改为您服务。 https://www.npmjs.com/package/ttembed-js
用法: ttembed-js path/to/Shardee.ttf
我遇到了同样的问题,跑F12。 看来兼容性视图在IE10的站点启用了我的。 一旦禁用我兼容性视图中显示的自定义字体。 希望这可以帮助别人...
在网上搜索,我发现这个在线工具,其对TTF字库的修复,使其显示的浏览器: https://www.andrebacklund.com/fontfixer.html