我正在研究如何向我的Rails应用程序中添加自定义字体,例如通过在assets文件夹中添加一个fonts文件夹--而且我找不到一种“官方”Rails方法来解决这个问题。
是的,这里有很多关于这件事的问题/答案,似乎都有他们自己的技巧。但是,这样一种常见的做法不应该被Rails著名的“约定而不是配置”所困扰吗?
或者如果我错过了它-关于如何在Rails应用程序中组织字体的文档引用在哪里?
发布于 2014-01-21 08:03:50
是的,给出的链接会很好地解释它,但是如果你需要另一个详细的解释,就在这里。
希望这能有所帮助。
发布于 2016-06-08 08:23:45
就这么做了..。
1. In your **config/application.rb** add this line config.assets.paths << Rails.root.join("app", "assets", "fonts")
它所做的就是预编译字体文件夹,就像默认情况下对图像、样式表等所做的一样。
<script>标记内联。
@字体-face{字体-家族:'Bariol正则‘;src: font-url('Bariol_Regular_Webfont/bariol_regular-webfont.eot');src: font-url('Bariol_Regular_Webfont/bariol_regular-webfont.eot?iefix')格式(‘eot’),font-url('Bariol_Regular_Webfont/bariol_regular-webfont.woff')格式(‘woff’),font-url('Bariol_Regular_Webfont/bariol_regular-webfont.ttf')格式(‘truetype’),font-url('Bariol_Regular_Webfont/bariol_regular-webfont.svg#webfont3AwWkQXK')格式(‘svg’);字体大小:普通;字体样式:正常;}请注意,您应该使用font-url助手而不是css的url来解决Rails在预编译资产时所做的指纹操作。
最后,在CSS文件中设置字体系列。
body {
font-family: 'Bariol Regular', serif;
} 免费提示:可以这么说,性能方面最好的方法是用JS设置这些字体,以便异步加载这些字体。检查这个加载程序:https://github.com/typekit/webfontloader
发布于 2017-07-20 17:20:33
我在上面列出的方法上遇到了一些问题,因为产品css没有指向已编译的ttf字体,所以我成功地使用了从https://gist.github.com/anotheruiguy/7379570借用的替代方法。
assets/stylesheets/fonts中。例如assets/stylesheets/fonts/digital_7.ttf。这就是说,一个更干净的方法是将字体定义(本例中的digital_7_mono.ttf)放在一个单独的站点上。
如果您正在使用Cloudfront,例如,在一个名为my_path的Cloudfront目录中,上传您的字体文件,然后定义一个css文件(例如digital_fonts.css)
@font-face {
font-family: 'Digital-7-Mono';
font-weight: normal;
font-style: normal;
src: local('Digital 7 Mono'), local('Digital-7-Mono'), url('https://mycloudfront_site.com/my_path/digital_7_mono.ttf') format('truetype');
}在html中,在<head>标记中添加:
https://stackoverflow.com/questions/21250303
复制相似问题