如何在 Rails 4 中使用字体 [英] How to use fonts in Rails 4
问题描述
我有一个 Rails 4 应用程序,我正在尝试使用自定义字体.
I have a Rails 4 application and I am trying to use a custom font.
我已经学习了很多关于此的教程,但不知何故它不适用于我的应用程序.
I have followed many tutorials on this and somehow it's just not working for my application.
我正在使用 application.css.less
并有以下声明:
I am using application.css.less
and have the following declaration:
@font-face {
font-family: 'HDVPeace';
src: font-url('HDV_Peace.eot');
src: font-url('HDV_Peace.eot?iefix') format('eot'),
font-url('HDV_Peace.woff') format('woff'),
font-url('HDV_Peace.ttf') format('truetype'),
font-url('HDV_Peace.svg#webfont') format('svg');
}
注意:我尝试使用 url()
代替 font-url()
还.前者在控制台上生成 404 错误,而后者似乎根本没有做任何事情.在资源下的chrome开发工具中,字体文件没有出现在 assets
文件夹下,或任何地方
在我的 config/application.rb
我有:
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
在我的 config/environments/development.rb
和 config/environments/production.rb
中,我有:
And in both my config/environments/development.rb
and config/environments/production.rb
I have:
config.assets.paths << Rails.root.join('app', 'assets', 'fonts')
config.assets.precompile += %w( .svg .eot .woff .ttf)
我的字体文件位于 app/assets/fonts
并且不包含在下面的文件夹中...
My font files are located at app/assets/fonts
and are not contained in a folder below that...
我错过了什么?
更新:
文件夹结构
app
└── assets
└── fonts
├── HDV_Peace.eot
├── HDV_Peace.svg
├── HDV_Peace.ttf
└── HDV_Peace.woff
推荐答案
您的 @font-face
声明非常接近,您只是缺少其中的 /assets
前缀网址声明.
Your @font-face
declaration is very close, you are just missing the /assets
prefix within the url declaration.
@font-face {
font-family: 'HDVPeace';
src: url('/assets/HDV_Peace.eot');
src: url('/assets/HDV_Peace.eot?iefix') format('eot'),
url('/assets/HDV_Peace.woff') format('woff'),
url('/assets/HDV_Peace.ttf') format('truetype'),
url('/assets/HDV_Peace.svg#webfont') format('svg');
}
已添加到 assets.paths
的任何内容都可以直接在开发和生产中的 /assets
路径下使用.您只需要application.rb
中的资产路径修改行,在development.rb
和production.rb
中再做一次只是多余的.
Anything that has been added to assets.paths
is available directly under the /assets
path in both development and production. You only need the asset path modification line within application.rb
, doing it again in development.rb
and production.rb
is just redundant.
此外,所有字体格式本质上都是二进制的.无需预编译它们,因此您可以安全地删除 assets.precompile
添加.
Additionally, all of the font formats are essentially binary. There is no need to pre-compile them, so you can safely remove the assets.precompile
addition.
这篇关于如何在 Rails 4 中使用字体的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!