【问题标题】:Custom font not loading in Rails自定义字体未在 Rails 中加载
【发布时间】:2017-03-08 12:00:24
【问题描述】:

我有一个 Rails 4.1.8 应用程序,我正在尝试使用自定义 avenir 字体。 我在 app/assets/fonts 和 app/assets/stylesheets 的 2 个地方添加了字体。我还在供应商/资产/样式表/字体中添加了其中一些。 其中一种字体 AvenirLTStd-Heavy.otf 没有以某种方式得到应用。

screen.scss

@font-face {
  font-family: "AvenirLTStd-Heavy";
  src: url('/assets/fonts/AvenirLTStd-Heavy.otf');
}

.avenir-heavy {
  font-family: "AvenirLTStd-Heavy";
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

application.rb

config.assets.paths << Rails.root.join(* %w(vendor assets bower_components))
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
config.assets.paths << Rails.root.join('vendor', 'assets', 'stylesheets', 'fonts')    
config.assets.precompile += %w( .svg .eot .woff .ttf .otf)

config/initializers/assets.rb

Rails.application.config.assets.paths << "#{Rails.root}/app/assets/fonts"
Rails.application.config.assets.paths << "#{Rails.root}/vendor/assets/stylesheets/fonts"
Rails.application.config.assets.precompile += %w( .svg .eot .woff .ttf .otf)

我做错了什么?

【问题讨论】:

  • 这个/assets/AvenirLTStd-Heavy.otf怎么样?
  • 试过了。没用。
  • 哦抱歉,如果您使用.scss文件,请尝试asset-url('AvenirLTStd-Heavy.otf'),并且不要忘记在config/initialize/assets.rb上添加扩展文件
  • 我已经更新了我的问题。请检查。

标签: css ruby-on-rails fonts


【解决方案1】:

在资产预编译路径中包含您的字体路径,只需使用字体名称并指定格式如下:

@font-face {
  font-family: "AvenirLTStd-Heavy";
  src: url('AvenirLTStd-Heavy.otf') format("opentype");
}

【讨论】:

    猜你喜欢
    • 2013-02-07
    • 2016-07-11
    • 2016-06-06
    • 2016-10-29
    • 1970-01-01
    • 2014-12-14
    • 2019-03-30
    • 1970-01-01
    • 2015-08-29
    相关资源
    最近更新 更多