在 Rails 3.2.1 和 Ruby 1.9.2 上,我在 app/assets/fonts 目录中有 font-awesome.css、font-awesome.min.css 和 font-awesome-ie7.min.css。
这是我正在使用的@import 声明:
@font-face {
font-family: 'FontAwesome';
src: url("./fonts/fontawesome-webfont.eot");
src: url("./fonts/fontawesome-webfont.eot?#iefix") format('embedded-opentype'),
url("./fonts/fontawesome-webfont.woff") format('woff'),
url("./fonts/fontawesome-webfont.ttf") format('truetype'),
url("./fonts/fontawesome-webfont.svg#FontAwesome") format('svg');
font-weight: normal;
font-style: normal;
}
我告诉应用程序加载和编译字体文件夹作为 config/application.rb 中资产管道的一部分,如下所示:
config.assets.paths << "#{Rails.root}/app/assets/fonts"
config.assets.precompile += %w( .svg .eot .woff .ttf )
我的 application.css 文件中还有以下内容:
*= require_self
*= require_tree .
*= require ./../fonts/font-awesome
最后,这是我的 HTML:
<i class="icon-facebook"></i>
问题是应该显示图标的地方,而是显示一个小框。我在我的应用程序的主 css 文件中有这个:
i {
width: 1em;
height: 1em;
display:block;
cursor: pointer;
}
...但这也不显示图标。
font-awesome.css 似乎加载正确,因为这出现在源代码中:
<link href="/assets/font-awesome.css?body=1" media="all" rel="stylesheet" type="text/css">
为什么这些小盒子出现在图标的位置?显然我错过了一些东西......
任何帮助将非常感激。
更新:
仍然不知道为什么上面的方法不起作用,但我最终在我的标签中创建了一个与外部托管的 font-awesome 样式表的链接关系,如下所示:
<link href="//netdna.bootstrapcdn.com/font-awesome/3.0.2/css/font-awesome.css" rel="stylesheet">
我仍然宁愿找到上述问题的解决方案,以防链接网站出现问题。