0
@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 400;
  src: local('Open Sans'), local('OpenSans'), url('cJZKeOuBrn4kERxqtaUH3bO3LdcAZYWl9Si6vvxL-qU.woff') format('woff');
}

@font-face {
  font-family: 'Open Sans';
  font-style: normal;
  font-weight: 300;
  src: local('Open Sans Light'), local('OpenSans-Light'), url('DXI1ORHCpsQm3Vp6mXoaTaRDOzjiPcYnFooOUGCOsRk.woff') format('woff');
}

我从 google css 提供的 url 下载了字体,这样我就可以在不在线的情况下使用它。当单击 .html 文件并在浏览器中打开它时,该代码有效。但是,当我将所有文件放在本地网络服务器上时,它不起作用。

有任何想法吗?请记住,我不会连接到互联网。

4

3 回答 3

3

Adam 正如@Kyle 所建议的那样,这种行为可能有多种原因

首先,我会检查字体文件的 url 是否正确解析。从您上面的 CSS 声明来看,浏览器似乎会期望该文件出现在 CSS 所在的同一目录中

其次,是的,谷歌可能已经阻止了窃取/下载文件。检查这一点的唯一方法是首先使用从谷歌服务“注意文件大小”加载的字体,然后下载并检查大小。如果它们相同,它们确实允许下载

第三个webfonts需要特定于浏览器这里是他们自己的解释

当浏览器发送对 Font API 样式表的请求(在您的网页中的标签中指定)时,Font API 会提供为发出请求的特定用户代理生成的样式表。

所以每次你的浏览器请求字体时,你实际上是在下载一个小的 CSS 片段,然后是从目录中下载字体系列

于 2011-07-29T05:27:18.823 回答
0

在我的 Windows 7 IIS 服务器上,我必须在 mime 类型中添加 woff 才能让它们工作。

于 2012-08-02T14:07:54.060 回答
0

如果字体通过打开 html 文件在计算机上正常工作,但在本地主机上不能正常工作,这很奇怪。您确定要复制所有字体文件并放在同一目录中吗?由于文件名如此复杂和长,您可能在名称上犯了一些错误吗?你用的是同一个浏览器吗?

不,没有什么像谷歌不允许下载文件的。只是为了确保,我已经从谷歌字体下载了一个字体(GloriaHallelujah)并用下面的代码进行了测试。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> 
    <title>Google font test</title>
    <style type="text/css" media="screen">
    @font-face {
        font-family: GloriaHallelujah;
        src: url('GloriaHallelujah.ttf');
        }   
    h1 { font-family: GloriaHallelujah, helvetica, arial; }     
    </style>
</head>
<body>
     <h1> Hello World </h1>
</body>
</html> 

这在桌面以及本地主机上都可以正常工作。也许你可以从这里下载相同的字体,放在同一个目录中,然后在你的本地主机上测试并查看。

于 2011-07-29T07:11:39.820 回答