@字体面工作时,本地而不是当上传到主机空间

问题描述 投票:3回答:6

我建立一个网站,我试图获得与名为特克斯环流光标一个免费的字体跨浏览器兼容。到目前为止,我已经试过,我发现虽然搜索谷歌的几种方法。

Site 1Site 2Site 3

他们已经在Chrome,火狐,Safari和Opera在本地测试时,他们的工作。不是IE浏览器虽然。我不是不屑有关IE浏览器,因为它是在屁股痛庞大,我已经设置宋体为这个备份字体。

我已经通过FTP文件管理器上传我的文件后,就会出现问题。虚拟主机是GoDaddy的。

我已上载的字体文件了。

我访问该网站,但字体是宋体,这发生在前面提到的所有浏览器。

我在我束手无策,不能识别的问题。

这是我与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');
}

如果不再需要的信息,请让我知道:)

html css css3 cross-browser font-face
6个回答
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;
}

5
投票

最近我有这个问题,我在设计Windows机器上XAMPP并上传到Linux服务器上。我终于想通了,字体文件是驼峰和CSS代码是全部小写。

它没有打扰我的本地机器,但Linux的看到CAPITALS.font和capitals.font为2个独立的文件。

您可能要检查,看看是否是你的发行有。


1
投票

不应该有与代码的任何错误;它应该是一个浏览器或网络问题。

  1. 尝试清除所有的缓存和重新加载页面几次。
  2. 如果仍然不能正常工作,去到Chrome浏览器,加载页面,按F12,走在网络选项卡,并重新加载页面。看看浏览器加载的字体CSS文件和字体。
  3. 如果有一个404 Not Found错误,将浏览器指向字体文件直接(yourdomain.com/fonts/texgyrecursor.ttf)。
  4. 如果您无法直接访问字体文件,检查您是否已经上传了。然后检查文件的权限。
  5. 如果仍然不能正常工作,尝试添加<link>标签,谷歌网络字体提供,然后上传。

希望修复它!


1
投票

究竟!解决的办法是从调用CSS尊重区分大小写字体。例如不是这样相同的呼叫:网址(字体/ ARIAL.TTF)一个ARIAL.TTF文件必须是URL(字体/ ARIAL.TTF)


1
投票

只是想帮助你们快速,

第一:在.htaccess将这个

<FilesMatch "\.(ttf|otf|eot)$">
    <IfModule mod_headers.c>
    Header set Access-Control-Allow-Origin "*"
    </IfModule>
</FilesMatch>

其次:去你那里举办过现场,在我的情况下,它的cPanel,并检查该文件的权限,它应该是755从字体文件夹,直到字体(S)。

Like this!


0
投票

我刚刚有同样的问题,结果发现有对我的“字体”文件夹中的大写字母,我给它改名woth FileZila,现在它工作得很好!

© www.soinside.com 2019 - 2024. All rights reserved.