@include font-face SCSS问题

8

当我试图在SCSS中引入一些字体时,遇到了以下问题:

我完全复制了compass网站上的文档,但是当CSS被编译时,Compass会在我的src URL后面添加随机数字。我编写的SCSS代码和生成的CSS如下所示:

SCSS

@include font-face("NexaBold", font-files("nexa_bold-webfont.woff", "nexa_bold-webfont.ttf", "nexa_bold-webfont.svg", "nexa_bold-webfont.eot"));    

生成的CSS

@font-face {
   font-family: "NexaBold";
   src: url('/fonts/nexa_bold-webfont.woff?1417439024') format('woff'), url('/fonts/nexa_bold-webfont.ttf?1417439024') format('truetype'), url('/fonts/nexa_bold-webfont.svg?1417439024') format('svg'), url('/fonts/nexa_bold-webfont.eot?1417439024') format('embedded-opentype');
}

谢谢!


可能是如何从Compass生成的精灵图像文件名中删除哈希符号? 的重复问题。(通过添加随机数到源URL中,Compass称之为“缓存清除”,它不仅用于字体,还用于各种资源。) - hon2a
2个回答

13

由于浏览器会根据URL缓存字体,所以添加了随机数,这些随机数导致每次编译代码并将其放入HTML中时,会重新下载字体。

我使用Visual Studio 2013并使用Sass编译您的代码,结果如下:

@font-face {
  font-family: "NexaBold";
  src: font-files("nexa_bold-webfont.woff", "nexa_bold-webfont.ttf", "nexa_bold-webfont.svg", "nexa_bold-webfont.eot"); }

这里是我的 font-face mixin 的指南源代码:

@mixin font-face(
  $name, 
  $font-files, 
  $eot: false,
  $weight: false,
  $style: false
) {
  $iefont: unquote("#{$eot}?#iefix");
  @font-face {
    font-family: quote($name);
    @if $eot {
      src: font-url($eot);
      $font-files: font-url($iefont) unquote("format('eot')"), $font-files; 
    }
    src: $font-files;
    @if $weight {
      font-weight: $weight;
    }
    @if $style {
      font-style: $style;
    }
  }
}

如果您查看我的罗盘版本,文件路径末尾不会添加任何随机数。

我建议您使用不带罗盘的font-face,请使用以下代码:

@font-face {
    font-family: 'IranSans';
    src: url('/css/fonts/IranSans.eot'); /* IE9 Compat Modes */
    src: url('/css/fonts/IranSans.eot?#iefix') format('embedded-opentype'), /* IE6-IE8 */
    url('/css/fonts/IranSans.woff') format('woff'), /* Modern Browsers */
    url('/css/fonts/IranSans.ttf') format('truetype'), /* Safari, Android, iOS */
    url('/css/fonts/IranSans.svg') format('svg'); /* Legacy iOS */
}

2
只需在您的config.rb文件中添加这一行即可:
asset_cache_buster :none

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接