我试图在我的rails应用中使用自定义字体,但无法弄清楚我做错了什么。我在资源文件夹中创建了一个名为fonts的文件夹,其中包含我使用的两种字体。然后我在我的css文件中调用了两个字体home.css.scss.erb
CSS:
@font-face {
font-family: 'Proxima Nova';
src: url('<%= asset_path(/assets/fonts/ProximaNova-Regular.otf) %>', font);
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Gotham';
src: url('<%= asset_path(/assets/fonts/Gotham-Medium.ttf) %>', font);
font-weight: normal;
font-style: normal;
}
然后在application.rb的配置文件夹中我添加了
config.assets.paths << "#{Rails.root}/app/assets/fonts"
但这似乎仍然没有奏效......任何想法为什么?
答案 0 :(得分:5)
之前我使用过自定义字体,但从不需要使用asset_path
帮助器。在CSS中使用相对路径就足够了。我的设置类似于:
# config/application.rb
config.assets.paths << Rails.root.join("assets", "fonts")
# CSS
@font-face {
font-family: 'Proxima Nova';
// No need any embeded Ruby code here
src: url('fonts/ProximaNova-Regular.otf') format('opentype');
font-weight: normal;
font-style: normal;
}
@font-face {
font-family: 'Gotham';
src: url('fonts/Gotham-Medium.ttf') format('truetype');
font-weight: normal;
font-style: normal;
}
答案 1 :(得分:0)
在Rails 4.2中:
your_controller.scss
@font-face {
font-family: "Tungsten-Bold";
src: url('Tungsten-Bold.otf') format("opentype");
font-weight: normal;
font-style: normal;
}
在config / initializers / assets.rb
中Rails.application.config.assets.paths << "#{Rails.root}/app/assets/fonts"
Rails.application.config.assets.precompile += %w( .svg .eot .woff .ttf .otf)
将字体文件放入&gt;&gt; app / assets / fonts /