如何在 Rails 4 中使用字体 [英] How to use fonts in Rails 4

查看:30
本文介绍了如何在 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.rbconfig/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.rbproduction.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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆