Arn*_*rom 6 sass compass-sass compass
在尝试让我的SCSS导入一些字体时遇到以下情况:
我完全复制了指南针网站上的文档,但是当编译CSS时,Compass会在我的src网址后面添加随机数字.我写的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"));
Run Code Online (Sandbox Code Playgroud)
产生的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');
}
Run Code Online (Sandbox Code Playgroud)
谢谢!
Moh*_*deh 12
添加了随机数,因为浏览器缓存字体基于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"); }
Run Code Online (Sandbox Code Playgroud)
这是我的罗盘来源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;
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果你看我的指南针版本不会在文件路径的末尾添加任何随机数.
我自己建议您使用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 */
}
Run Code Online (Sandbox Code Playgroud)