我正在使用一个字体文件,其内容如下:
@font-face {
font-family: 'FontAwesome';
src: url(asset-path('fontawesome-webfont.eot', font));
src: url(asset-path('fontawesome-webfont.eot', font)) format('embedded-opentype'),
url(asset-path('fontawesome-webfont.woff', font)) format('woff'),
url(asset-path('fontawesome-webfont.ttf', font)) format('truetype'),
url(asset-path('fontawesome-webfont.svg', font)) format('svg');
// src: url('#{$FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts
font-weight: normal;
font-style: normal;
}
我的印象是,来自SCSS文件的语法:url(asset-url('...'), font));
应该呈现/assets/font.oet,例如,在压缩到的CSS文件中。
这不是正在发生的事情。它根本没有变化。我仍然在CSS文件中看到url(asset-url('...'), font));
。
我的设置:
我将所有SCSS文件都放在app / assets / stylesheets下。我通过@import标签将所有SCSS文件拉入Application.css.scss。 (这可能是资产路径无法解析的原因吗?)。
* 当我运行RAILS_ENV=production bundle exec rake assets:precompile
时,我需要一些能够呈现资产管道MD5指纹的内容,所以如果asset-url不会呈现指纹,请指点我帮助* / em>的
感谢帮助。
答案 0 :(得分:0)
如何使用font-path而不是asset-path并在最后删除“,font”。
@font-face {
font-family: 'FontAwesome';
src: url(font-path('fontawesome-webfont.eot');
src: url(font-path('fontawesome-webfont.eot')) format('embedded-opentype'),
url(font-path('fontawesome-webfont.woff')) format('woff'),
url(font-path('fontawesome-webfont.ttf')) format('truetype'),
url(font-path('fontawesome-webfont.svg')) format('svg');
// src: url('#{$FontAwesomePath}/FontAwesome.otf') format('opentype'); // used when developing fonts
font-weight: normal;
font-style: normal;
}
它将被翻译成例如
src:url("/assets/fontawesome-webfont-0a491f75efc766a9fe9daaa5f407aec1.eot");
...
有关详细信息,有人提出类似问题here。
答案 1 :(得分:0)
使用font-url而不是像font-path一样对我来说就像一个魅力:
@font-face {
font-family: 'FontAwesome';
src: font-url('fontawesome-webfont.eot');
src: font-url('fontawesome-webfont.eot') format('embedded-opentype'), font-url('fontawesome-webfont.woff') format('woff'), font-url('fontawesome-webfont.ttf') format('truetype'), font-url('fontawesome-webfont.svg') format('svg');
font-weight: normal;
font-style: normal;
}