【问题标题】:Rails: @font-face work on Heroku, but not on localhostRails:@font-face 可以在 Heroku 上工作,但不能在 localhost 上工作
【发布时间】:2012-12-25 13:04:47
【问题描述】:

在 CSS 中:

@font-face {
  font-family: 'some_name';
  src: url('font_name.eot');
}

application.rb:

config.assets.paths << "#{Rails.root}/app/assets/fonts"

在 Heroku 上这个设置运行良好,但在 localhost 上却不行。我是否缺少在 localhost 上正确显示非标准字体的内容? 我在 Mountain Lion 上奔跑。

谢谢

【问题讨论】:

    标签: ruby-on-rails ruby fonts osx-lion font-face


    【解决方案1】:

    字体的scr 路径规范是相对的。

    在生产环境中,所有资产都被编译,不同类型的资产被放在一个文件夹中,可通过/assets/asset-name访问。这意味着字体和 css 文件都将在同一个文件夹中,并且相对路径可以。然而,在开发环境中,资产没有被编译,也没有组合在一起,这意味着它们可以通过/assets/ASSET-TYPE/asset-name 访问。所以字体不会和样式表在同一个文件夹中,相对路径也无助于找到实际的字体文件。

    Rails 有一个 asset-url CSS 助手,它在两种环境中都可以使用,它会在编译期间被替换为 url(path-to-asset)

    @font-face {
      font-family: 'The Font';
      src: asset-url('the_font.eof', font);
    }
    

    【讨论】:

      【解决方案2】:

      这个解决方案对我有用:

      @font-face {
        font-family: 'some_name';
        src: url('/assets/font_name.eot');
      }
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-03-27
        • 1970-01-01
        • 2019-09-30
        • 2013-07-08
        • 2011-12-24
        • 2014-02-15
        • 2013-10-10
        相关资源
        最近更新 更多