1

我正在尝试在我的 rails 应用程序中使用自定义字体,但无法弄清楚我做错了什么。我在 assets 文件夹中创建了一个名为 fonts 的文件夹,其中包含我正在使用的两种字体。然后我在名为 home.css.scss.erb 的 css 文件中调用这两种字体

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"

但这似乎仍然不起作用..任何想法为什么?

4

2 回答 2

6

我以前使用过自定义字体,但从不需要使用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;
} 
于 2013-08-15T15:44:16.807 回答
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)

并将字体文件放在 >> app/assets/fonts/

于 2015-03-05T05:29:02.750 回答