【问题标题】:Font Face not taking effect in Rails 4字体在Rails 4中没有生效
【发布时间】:2016-03-29 07:54:52
【问题描述】:

下面的代码应该可以正常工作,但是没有生效。

我在application.rbdevelopment.rbproduction.rb 中定义了以下内容:

config.assets.paths << Rails.root.join('app', 'assets', 'fonts')

fonts.scss

@font-face {
    font-family: 'Garamond-Pro-Italic';
    src: url('/assets/fonts/Adobe_Garamond_Pro_Italic.ttf') format('ttf');
}

buttons.scss

.menu-button
{
    font-family: 'Garamond-Pro-Italic', sans-serif;
}

【问题讨论】:

  • config.assets.paths &lt;&lt; Rails.root.join('app', 'assets', 'fonts.scss') 如上所述更改此行
  • 谢谢,但还是不行。
  • 使用asset-url("/fonts/Adobe_Garamond_Pro_Italic.ttf") 而不是url,查看你的fonts.css编译文件,你看到了什么路径?

标签: css ruby-on-rails ruby ruby-on-rails-4


【解决方案1】:

在您的 fonts.scss 中试试这个:

// First line of file:
//= depend_on_asset "Garamond-Pro-Italic.ttf"

@font-face {
  font-family: 'Garamond-Pro-Italic';
  src: url(font-path('Adobe_Garamond_Pro_Italic.ttf')) format('truetype');
}

在 application.scss 中:

//= require <path_to_scss_file>

您应该只需要 application.rb 中的以下行: config.assets.paths &lt;&lt; Rails.root.join('app', 'assets', 'fonts')

当然,请确保 Adobe_Garamond_Pro_Italic.ttf 实际上位于 app/assets/fonts/ 目录中,而不是 vendor、lib 或 public。

如果这不起作用,则在您的开发控制台中发布任何资产 404 错误以及已编译的 fonts.scss 文件。

【讨论】:

    猜你喜欢
    • 2013-10-24
    • 2013-10-21
    • 2014-09-18
    • 2013-08-20
    • 1970-01-01
    • 2015-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多