【问题标题】:Adding custom fonts in Rails在 Rails 中添加自定义字体
【发布时间】:2015-08-29 15:55:48
【问题描述】:

我正在尝试添加在我的 Rails 应用程序中下载的自定义字体。这就是我所做的:我下载了字体 (Georgia.tff) 并将其放入 app/assets/fonts/Georgia.tff。我的主 CSS 文件如下所示:

foundation-and-override.scss

 @font-face {
    font-family: "Georgia";
    src: url(/assets/fonts/Georgia.ttf) format("truetype");
  }

.header {
    font-family: "Georgia";
}

这是我要应用字体的地方:

_header.html.erb

<header class="top-bar" data-topbar role="navigation">
  <ul class="title-area">
    <li class="header">
      <h1><a href="/">SMART INVESTORS'S CLUB</a></h1>
  </ul>
</header>

它不工作。我正在使用 Rails 4.2.1。 我引用了adding custom font in my appOfficial way of adding custom fonts to Rails 4?。没有运气.????

【问题讨论】:

  • url 方法不计算资产的路径,而只是返回用于请求的完整路径。

标签: css ruby-on-rails fonts zurb-foundation-5


【解决方案1】:

foundation-and-override.scss

@font-face{ font-family:"Georgia"; src:asset-url("Georgia.ttf") format("truetype"); }

在 application.rb 中你必须添加:

config.assets.paths &lt;&lt; Rails.root.join('app', 'assets', 'fonts')

并且字体文件“Georgia.ttf”必须在app/assets/fonts/Georgia.ttf

【讨论】:

    【解决方案2】:

    Rails 为此提供了 font-url 辅助方法:

    @font-face{
      font-family:'Georgia';
      src:font-url('Georgia.ttf');
    }
    

    你也可以只使用asset-url:

    @font-face{
      font-family:'Georgia';
      src:asset-url('Georgia.ttf');
    }
    

    默认情况下,Sprockets 应该能够在您的资产文件夹中找到任何文件,因此不需要额外的配置。

    【讨论】:

    • 这甚至会引发太多错误。我认为 Rails 的版本在这里很重要。
    • 不,这些都是 4.2.1 中的有效选项:/ 您的应用程序编译资产的方式可能存在问题。你遇到了什么错误?
    猜你喜欢
    • 1970-01-01
    • 2012-03-24
    • 2016-07-12
    • 2016-11-22
    • 1970-01-01
    • 2020-01-16
    • 1970-01-01
    • 2011-11-10
    • 2010-09-26
    相关资源
    最近更新 更多