我正在建立一个网站,我试图通过名为Tex Gyre Cursor的免费字体获得跨浏览器兼容性。 到目前为止,我已经尝试了几种我通过Google搜索的方法。
他们在Chrome,Firefox,Safari和Opera本地测试时都有用。虽然不在IE上。我不会为IE烦恼,因为这是一个巨大的痛苦,我已经将Tahoma设置为备用字体。
我通过FTP文件管理器上传文件后出现问题。网络主机是GoDaddy。
我也上传了字体文件。
我访问该网站但字体是Tahoma,这种情况发生在之前提到的所有浏览器上。
我在我的智慧结束,无法辨别问题。
这是我第一次使用CSS:
@font-face{
font-family:'TexGyreCursor';
src: url('fonts/texgyrecursor.eot');
src: local('texgyrecursor'),
local('texgyrecursor'),
url('fonts/texgyrecursor.ttf') format('truetype'),
url('fonts/texgyrecursor.svg#font') format('svg'),
url('fonts/texgyrecursor.otf');
}
我的第二次尝试:
@font-face{
font-family:'TexGyreCursor';
src: url('fonts/texgyrecursor.eot');
src: url('fonts/texgyrecursor.otf');
}
如果需要更多信息,请告诉我们:)
答案 0 :(得分:5)
我最近遇到过这个问题,我正在使用xampp设计Windows机器并上传到linux服务器。 我终于发现字体文件是CamelCase,而css代码都是小写的。
它没有打扰我的本地机器,但是linux将CAPITALS.font和capitals.font视为2个单独的文件。
您可能需要查看是否存在问题。
答案 1 :(得分:3)
我遇到过很多字体嵌入问题,无论是在不同的服务器上托管字体和CSS
文件,还是IE都是绝对的!@?#。
在IE中,按12将显示您的开发人员工具并检查显示的错误(如果有)。如果您出现以下任何错误:
CSS3111: @font-face encountered unknown error.
my-font.eot
CSS3117: @font-face failed cross-origin request. Resource access is restricted.
my-font.eot?
我建议遵循我几个月前开设的可能会有所帮助的帖子:@font-face import not working in offline website/different host using online fonts via CSS in IE only。这只是IE的一个问题,所以如果您遇到同样的问题,不会感到惊讶。将字体传输到其他服务器时我遇到了其他问题。
对于任何未来的字体嵌入,我强烈建议使用以下CSS代码并确保所涉及的所有文件类型都正确转换:
@font-face {
font-family:'My-Font';
src:url('../includes/fonts/my-font.eot');
src:url('../includes/fonts/my-font.eot?#iefix') format('embedded-opentype'),
url('../includes/fonts/my-font.woff') format('woff'),
url('../includes/fonts/my-font.ttf') format('truetype'),
url('../includes/fonts/my-font.svg#my-font') format('svg');
font-weight:normal;
font-style:normal;
}
答案 2 :(得分:1)
代码不应该有任何错误;它应该是浏览器或网络问题。
F12
,转到“网络”标签,然后重新加载页面。查看浏览器是否加载字体CSS文件和字体。yourdomain.com/fonts/texgyrecursor.ttf
)。<link>
标记,然后上传。希望能解决它!
答案 3 :(得分:1)
完全!解决方案是从css调用区分大小写的字体。例如不是这样的调用:url(font / arial.ttf)ARIAL.TTF文件必须是url(font / ARIAL.TTF)
答案 4 :(得分:0)
我遇到了同样的问题,原来我的“ Fonts”文件夹上有一个大写字母,我将其重命名为FileZila,现在可以正常使用了!
答案 5 :(得分:0)
只是想帮助你们,
首先:将其放在.htaccess中
<FilesMatch "\.(ttf|otf|eot)$">
<IfModule mod_headers.c>
Header set Access-Control-Allow-Origin "*"
</IfModule>
</FilesMatch>
第二:转到您托管网站的位置(在我的情况下为cpanel,然后检查文件许可权,从字体文件夹到字体为止,应该为755。
答案 6 :(得分:0)
服务器具有utf8
支持。因此,没有必要单独安装语言字体。如果您需要在网站中安装其他字体,请在网站字体文件夹中上载字体文件。但是,如果不支持任何语言,则需要在服务器上启用utf8
的支持。您可以通过将下面提到的代码放在head标签中来实现它-
<meta http-equiv=Content-Type content=text/html; charset=utf-8 />