Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.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 加载WebFonts时出现异常问题_Css_Webfonts - Fatal编程技术网

Css 加载WebFonts时出现异常问题

Css 加载WebFonts时出现异常问题,css,webfonts,Css,Webfonts,我正在尝试应用webfont来改进我的页面。找到我想要的并上传到我自己的服务器上,该服务器承载着我的项目。这是我的css: @font-face { font-family: 'urban'; src: url('/urban-sketch.ttf'); 目录是热链接的,不是我在这里发布的快捷方式。没有显示任何内容,字体根本不加载。这让我觉得ttf本身可能有问题。接下来,我尝试了另一种字体,并应用了相同的代码,但也不起作用。我几乎搜索了24小时,最常见的问题是目录。因此,我检查了无数次,以确保

我正在尝试应用webfont来改进我的页面。找到我想要的并上传到我自己的服务器上,该服务器承载着我的项目。这是我的css:

@font-face {
font-family: 'urban';
src: url('/urban-sketch.ttf');
目录是热链接的,不是我在这里发布的快捷方式。没有显示任何内容,字体根本不加载。这让我觉得ttf本身可能有问题。接下来,我尝试了另一种字体,并应用了相同的代码,但也不起作用。我几乎搜索了24小时,最常见的问题是目录。因此,我检查了无数次,以确保目录正确无误。我现在做的最后一件事是查看fontsquirrel,上传我的字体,复制他们的样式表,并更正目录,但仍然没有显示任何内容。我正在3个浏览器中测试,IE、FF和Chrome。我现在已经放弃了,希望有人能发现哪里做错了

以下是我现在使用的当前fontsquirrel代码:

    @font-face {
    font-family: 'urban_sketchregular';
    src: url('/urban-webfont.eot');
    src: url('/urban-webfont.eot?#iefix') format('embedded-opentype'),
         url('/urban-webfont.woff2') format('woff2'),
         url('/urban-webfont.woff') format('woff'),
         url('/urban-webfont.ttf') format('truetype'),
         url('/urban-webfont.svg#urban_sketchregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
尝试验证路径是否正确,是否能够通过浏览器访问复制完整字体文件路径,并尝试直接从浏览器访问该路径

确保交付的字体具有正确的内容类型

使用正确的CSS语法


请注意文件URL后的格式。

现在,请尝试仅使用truetype格式,现在大多数浏览器都可以读取它。尝试此语法注意,有一个字体文件夹:


希望这有帮助。另外,一个好的做法是将@字体放在CSS文件中任何其他代码之前

您必须为不同的浏览器将字体转换为其他格式。您的设置将在Google Chrome中暂时起作用。在google chrome中,使用开发者控制台网络,看看你是否在呼叫Fontry字体家族:“urban_sketchregular”,并使用引号。如果字体名称是urban_sketchregular中的一个词,则不需要引号。一件总是用来告诉我的事情是,页面上是否有id为div的内容,因此就是div,如果没有,将不使用字体文件。页面上必须有一个实际的元素才能应用此CSS规则,字体文件不是简单地基于@font-face加载的。您也检查了浏览器工具的“网络”选项卡,是否有任何实际的文件请求。如果有,他们返回404,并且您说目录是正确的,那么您的Web服务器可能没有配置为提供字体文件类型这是我在inspect元素中看到的,来源www.domain.com的字体已被跨来源资源共享策略阻止加载:请求的资源上不存在访问控制允许来源标头。因此,不允许访问源beta.domain。事实上,我是在我的子域beta.domain.com上做这一切的,那么谷歌Chrome上Inspect元素的这些信息是指我的webfont吗?如果是这样,它似乎在告诉我,事实上,我的子域中的某些东西限制了我的webfonts的应用。这似乎没有帮助,但好消息是,我通过chrome中的Inspect元素发现,这似乎是一个与服务器相关的问题。来源www.domain.com的字体已被跨来源资源共享策略阻止加载:请求的资源上不存在访问控制允许来源标头。因此,Origin beta.domain不允许访问我联系了我的服务器管理员,看看他是否能解决这个问题,但我不确定,因为我在意识到这个错误后从子域测试了webfont,但它仍然没有加载。
    @font-face {
    font-family: 'urban_sketchregular';
    src: url('/urban-webfont.eot');
    src: url('/urban-webfont.eot?#iefix') format('embedded-opentype'),
         url('/urban-webfont.woff2') format('woff2'),
         url('/urban-webfont.woff') format('woff'),
         url('/urban-webfont.ttf') format('truetype'),
         url('/urban-webfont.svg#urban_sketchregular') format('svg');
    font-weight: normal;
    font-style: normal;
}
#div {
border-style: dotted;
margin-bottom:25px;
font-family: urban_sketchregular;
}
  @font-face {
  font-family: Urban; /* no need for the quotes, it can read it anyway. */
  src: local('Urban Regular'), local('Urban'); 
  /* For local, check how the font is written on the machine --> Right click on file -> Details -> Title */ 
  src: url(/fonts/urban-webfont.ttf) format('truetype'); 
  font-weight: normal;}