我正在尝试使用以下方法在我的rails应用程序中加载一些其他字体:
css(其类型为css.scss.erb)文档位于 app / assets / stylesheets / custom / 文件夹中,如下所示:
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 300;
src: url('<%= asset_path('/fonts/Lato-Light.woff') %>') format('woff');
}
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 400;
src: url('<%= asset_path('/fonts/Lato-Regular.woff') %>') format('woff');
}
@font-face {
font-family: 'Lato';
font-style: normal;
font-weight: 700;
src: url('<%= asset_path('/fonts/Lato-Bold.woff') %>') format('woff');
}
字体文件位于应用程序 lib / assets / fonts 文件夹中。我在 application.rb 文件中添加了以下行:
config.assets.paths << Rails.root.join('lib', 'assets', 'fonts')
我没有收到请求错误,因此我认为我的字体是在网页中呈现的,但它们并未应用。这是 asset_path 方法在结果css文件中生成的路径:
有谁知道我做错了什么?
答案 0 :(得分:2)
正如我从Rails 3.1中读到的那样:
公共文件夹不再是CSS,图像和支持的位置 字体,而不是他们住在app / assets / *和vendor / assets / * 文件夹。
因此,要设置新字体,我已按照以下步骤操作:
@font-face { font-family: 'RobotoCondensed'; src: asset-url('robotocondensed-regular-webfont.eot', 'font'); src: asset-url('robotocondensed-regular-webfont.eot?#iefix', 'font') format('embedded-opentype'), asset-url('robotocondensed-regular-webfont.woff', 'font') format('woff'), asset-url('robotocondensed-regular-webfont.ttf', 'font') format('truetype'), asset-url('robotocondensed-regular-webfont.svg#roboto_condensedbold','font') format('svg'); font-weight: normal; font-style: normal; }
来源:http://spin.atomicobject.com/2011/09/26/serving-fonts-in-rails-3-1/