gpt4 book ai didi

sass - @include字体SCSS问题

转载 作者:行者123 更新时间:2023-12-04 13:26:57 24 4
gpt4 key购买 nike

尝试让我的SCSS导入某些字体时,遇到以下问题:

我完全复制了the docs from the compass website,但是在编译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');
}

谢谢!

最佳答案

添加了随机数,因为浏览器缓存字体基于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的 compass 源:
@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;
}
}
}

如果您看我的 compass 版本没有在文件路径的末尾添加任何随机数。

我本人建议您在没有 compass 的情况下使用 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 */
}

关于sass - @include字体SCSS问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27237356/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com