1

我正在使用一个字体文件,它看起来像这样:

@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;
}

我的印象是这种语法: url(asset-url('...'), font));从 SCSS 文件应该呈现 /assets/font.oet,例如,在压缩到的 CSS 文件中。

这不是正在发生的事情。它根本没有改变。我仍然url(asset-url('...'), font));在 CSS 文件中看到。

我的设置:

我所有的 SCSS 文件都存放在 app/assets/stylesheets 下。我通过@import 标签将所有 SCSS 文件拉入 Application.css.scss。(这可能是资产路径无法解析的原因吗?)。

*我需要一些可以在我运行时呈现资产管道 MD5 指纹的东西RAILS_ENV=production bundle exec rake assets:precompile,所以如果资产 URL 不会呈现指纹,你能指点我一个帮手吗*

感谢帮助。

4

2 回答 2

0

如何使用字体路径而不是资产路径并在最后放置“,字体”。

@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");
...

有关更多信息,有人在这里问过类似的问题。

于 2013-09-18T07:05:26.607 回答
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;
}
于 2013-12-08T23:08:07.343 回答