资产管道和@ font-face on rails(rails 3.2.3)

Kin*_*nan 7 assets ruby-on-rails font-face ruby-on-rails-3 asset-pipeline

如何在rails上使用@ font-face来修改字体:

我的字体位于:

/ vendor/assets/stylesheets/fonts/custom-font-lists-here .eot

包含@ font-face的样式表在里面:

/vendor/assets/stylesheets/fonts.css

我现在正在使用它

@font-face {
    font-family: 'ArimoRegular';
    src: url('<%= asset_path('fonts/arimo-regular-webfont.eot') %>');
    src: url('<%= asset_path('fonts/arimo-regular-webfont.eot') %>'+'?#iefix') format('embedded-opentype'),
         url('<%= asset_path('fonts/arimo-regular-webfont.woff') %>') format('woff'),
         url('<%= asset_path('fonts/arimo-regular-webfont.ttf') %>') format('truetype'),
         url('<%= asset_path('fonts/arimo-regular-webfont.svg') %>#ArimoRegular') format('svg');
    font-weight: normal;
    font-style: normal;

}
Run Code Online (Sandbox Code Playgroud)

我想知道这是对的,

欢迎任何建议,谢谢

Chr*_*itz 11

您不应该需要fonts/文件路径的一部分.该app/assets/fonts目录应该已包含在内asset_path,因此您应该可以使用此目录:

<%= asset_path('arimo-regular-webfont.eot') %>
Run Code Online (Sandbox Code Playgroud)

我不知道为什么会发生这种情况,但是我听说人们遇到的问题是assets/fonts目录不在资产管道中,所以你必须手动添加它.如果以上内容对您不起作用,请尝试通过将以下内容手动添加到目录中config/application.rb:

config.assets.paths << "#{Rails.root}/app/assets/fonts"
Run Code Online (Sandbox Code Playgroud)

  • `assets/fonts`只适用于`app`和`lib`,但不适用于`vendor` (4认同)