2014-12-01 10 views
5

Bei dem Versuch, meine SCSS Import einige Schriften habe ich folgendes festgestellt:@include font-face SCSS Ausgabe

ich genau the docs from the compass website kopiert, aber wenn die CSS kompiliert wird ergänzt Compass Zufallszahlen hinter meinem src URLs. Der Code SCSS Ich schrieb und die resultierende CSS sieht wie folgt aus

SCSS

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

Resultierende 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'); 
} 

Dank!

+0

möglich Duplikat [Wie der Hash entfernen aus den von Compass generierten Sprite-Bilddateinamen?] (http://stackoverflow.com/questions/9183133/how-to-remove-the-hash-from-compasss-generated-sprite-image-filenames) (Hinzufügen von Zufallszahlen zu Quell-URLs) von Compass heißt "Cache Busting" und wird für verschiedene Quellen verwendet, nicht nur für Schriften.) – hon2a

Antwort

7

Zufallszahlen wurden hinzugefügt, weil Browser-Cache-Schriftarten auf URL basieren, dann diese Zufallszahlen verursachen jedes Mal, wenn Sie Ihre Codes kompilieren und in Ihrem HTML-Format, laden Sie die Schriftarten erneut.

Ich habe Visual Studio 2013 und der Code mit sass zusammenstellen und das Ergebnis ist:

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

und hier ist mein Kompass Quelle für 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; 
    } 
    } 
} 

, wenn Sie mein Kompass Version aussehen doesn füge am Ende des Dateipfads keine Zufallszahl hinzu.

ich schlage vor, Sie font-face ohne Kompass zu verwenden, Code unten verwenden:

@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

einfach diese Zeile in config.rb hinzu:

asset_cache_buster :none