7

如何在 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;

}

我想知道这是否正确,

欢迎任何建议,谢谢

4

2 回答 2

11

您不需要fonts/文件路径的部分。该app/assets/fonts目录应该已经包含在 中asset_path,因此您应该能够使用它:

<%= asset_path('arimo-regular-webfont.eot') %>

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

config.assets.paths << "#{Rails.root}/app/assets/fonts"
于 2012-05-04T02:17:58.280 回答
3

在使用asset_path助手时,你应该附加.erb到你的font.css,所以它变成font.css.erb. 在您的情况下,更好的解决方案是使用来自sass-railsless-railsgems 的资产助手font-url

有关它的更多信息:sass-rails 功能

于 2012-09-25T13:56:28.273 回答