所以我正在尝试原型化营销页面,我正在使用Bootstrap和新的Font Awesome文件 . 问题是当我尝试使用图标时,在页面上呈现的所有内容都是一个大方块 .
这是我如何在头部包含文件:
<head>
<title>Page Title</title>
<link rel="stylesheet" href="css/bootstrap.css">
<link rel="stylesheet" href="css/bootstrap-responsive.css">
<link rel="stylesheet" href="css/font-awesome.css">
<link rel="stylesheet" href="css/app.css">
<!--[if IE 7]>
<link rel="stylesheet" href="css/font-awesome-ie7.min.css">
<![endif]-->
</head>
这是我尝试使用图标的一个例子:
<i class="icon-camera-retro"></i>
但所有这一切都在一个大广场上呈现 . 有谁知道会发生什么?
29 回答
我有这个问题并仔细检查了每一步......即使我已经使用FA多年了......然后我意识到我在我的邮件css文件中有这一行:
愚蠢的错误,但这可能会在将来给某人带来惊喜!
您必须为您的字体文件返回 Headers Access-Control-Allow-Origin 至 *****
我有这个问题 . 问题是我有一个字体系列的CSS样式!重要的是覆盖了fontawesome字体 .
我尝试了上面的一些建议没有成功 .
我使用NuGeT包 . 是(由于某种原因)多个命名版本(font-awesome,fontawesome,font.awesome等)
为了它的 Value :我删除了所有已安装的版本,然后只安装了最新版本的 font.awesome . font.awesome 刚刚工作,无需调整或配置任何东西 .
我假设其他命名版本中缺少许多东西 .
它不适合我,因为我的apache配置中的根目录有
Allow from none
指令 . 这是我如何让它工作......我的目录结构:
我的index.html在哪里:
我选择继续禁止访问我的root,而是在我的apache配置中为root / font-awesome /添加了另一个目录条目
我已经从3.2.1更改为4.0.1,文件夹是字体,现在称为字体 .
src:url('../ font / fontawesome-webfont.eot?v = 3.2.1');
src:url('../ fonts / fontawesome-webfont.eot?v = 4.0.1');
我希望它对某人有帮助 .
我今天找到了一个解决方案:
从他们的Github下载整个项目page
然后按照默认CSS部分下的page上的其余步骤,将目录移动到项目中,并在.html文件的HEAD部分添加链接
他们的文档存在的问题是,他们没有指定一个链接,指向您应该获得要放入项目的整个字体 - 真棒项目的副本 .
这在新版本3.0中应该更简单 . 最简单的是指向Bootstrap CDN:http://www.bootstrapcdn.com/?v=01042013155511#tab_fontawesome
打开你的font-awesome.css theres代码,如:
你必须有像这样的文件夹:
或最简单的方法:
我的问题是添加了
在里面
标签
我把它放在标签外面来修理它 .
与上层阶级一起使用
根据documentation(步骤3),您需要修改提供的CSS文件以指向站点上的字体位置 .
使用绝对路径而不是相对路径为我解决了它 . 我正在使用相对路径(参见下面的第一个示例),但这不起作用 . 我通过控制台检查,发现服务器返回404,找不到文件 .
Relative path caused a 404:
Absolute path solved it cross browser:
除非你必须,否则我不建议这样做,但它对我有用 . 当然,你应该对font-awesome.css文件中的所有字体格式重复这一点 .
为我(在我的Windows 7机器上)修复问题的原因是解密我的项目目录 . 在测试您的网站时,最初会出现多少视觉和功能故障,这很疯狂 . 只需转到命令提示符并运行:
...其中%PROJECT_PATH%是存储代码的目录的完整路径名 .
我使用Official Font Awesome SASS Ruby Gem并通过将以下行添加到我的application.css.scss来修复错误
说明:
用这个
我在Amazon Cloudfront CDN上遇到了类似的问题,但是在我开始从maxcdn加载后它得到了解决
如果您正在使用 Maven 和 Apache Wicket 也检查以下内容,以尝试解决Font-Awesome和未加载图标的问题:
如果您已将文件放在以下文件结构中
Check 1) 您是否正确使用Package Resource Guard以便正确加载字体文件?
您的类扩展WebApplication的示例:
Check 2) 确保所有字体都正确传输到Web浏览器后,检查实际传输到Web浏览器的内容,即字体文件的完整性是否发生了变化?使用例如Firefox和DiffDog的Web Developer Toolbar(用于文件比较)比较源目录中的文件和传输到Web浏览器的文件 .
特别是如果您使用Maven,请注意资源过滤 . 不要过滤包含/ font文件的文件夹 - 否则它们将被破坏 .
pom.xml中的示例
在上面的示例中,我们不会过滤包含css和font文件的文件夹src / main / java .
有关二进制数据过滤的更多信息,请参阅文档:
http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html
特别是文档警告:“警告:不要使用像图像这样的二进制内容过滤文件!这很可能导致输出损坏 . 如果你有无论是文本文件还是二进制文件作为资源,都需要声明两个互斥的资源集 . 第一个资源集定义了要过滤的文件,另一个资源集定义了要复制的文件......“
你必须有2个类,fas类和fa类,也许这会工作:
如果您的服务器是IIS,请确保添加正确的MIME以提供.woff文件扩展名 . 正确的MIME是
application/octet-stream
我正在使用
Font Awesome 4.3.0
只是链接 maxcdn works 如上所述here,但是 to host in your server 把字体和css放在同一个文件夹中对我有用,就像这样
然后只需链接css:
希望帮助某人 .
如果您使用sass并已在main.scss中导入
@import '../vendor/font-awesome/scss/font-awesome.scss';
该错误可能来自font-awesome.scss文件,该文件正在查找其相对路径中的字体文件 .
所以 remember 覆盖$ fa-font-path变量:
$fa-font-path: "https://netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts" !default;
像这样,不需要在index.html中添加cdn
仔细检查fontawesome-all.css文件 - 在最底部将有一个指向webfonts文件夹的路径 . 我的中有“../webfonts”格式,这意味着css文件将从它的位置向上看1级 . 由于我的所有css文件都在css文件夹中,并且我将字体添加到同一文件夹,因此无效 .
只需将您的字体文件夹移动到一个级别,一切都应该很好:)
用Font Awesome 5.0测试
如果您使用的是LESS或SASS,请打开font-awesome.less / sass文件并编辑指向实际字体的路径变量
@fa-font-path: "../font";
:与CSS相同,除了您编辑@ font-face声明块中的路径:
您的字体路径可能不正确,因此css无法加载字体并呈现图标,因此您需要提供附加字体的搁浅路径 .
我尝试用一些以前的解决方案解决同样的问题,但它们在我的情况下不起作用 . 最后,我在HEAD中添加了这两行,它起作用了:
使用此
<i class="fa fa-camera-retro" ></i>
您尚未定义fa类现在,在fontawesome 5中,您可以通过Https提供JS的缓存版本 .
有关https://fontawesome.com/get-started/svg-with-js的更多信息
你必须有2个类,
fa
类和标识所需图标fa-twitter
,fa-search
等的类......这可能有帮助, check to ensure that you haven't inadvertently changed the font family 在图标上 . 如果您更改了.fa项目's font family from: FontAwesome the icon will not show. It' s总是傻小的 .
希望能帮助别人 .