我'm trying to use FontAwesome in a web Compass project. As there'在FontAwesome page中没有具体的文档,我'm not using Bootstrap, I'遵循"Not using Bootstrap?"方向,但无法使其正常工作 .
输出
我没有发现任何特定错误,无论是找不到还是编译错误 . 它只是没有显示任何内容,没有图标或文字 . FontAwesome字体文件似乎没有加载 .
我已经完成的步骤
-
下载
font-awesome
目录 -
将它复制到我的项目css文件夹,在那里我有我所有已编译的css:
project/css/font-awesome
-
在我的主sass样式表中导入
font-awesome.scss
文件,如@import url("font-awesome/scss/font-awesome.scss");
-
打开
font-awesome.scss
文件并更改导入路径,现在相对于我的css编译文件,看起来像这样@import url("font-awesome/scss/_variables.scss");
-
在font-awesome / scss目录中打开
_variables.scss
partial并将@FontAwesomePath
默认更改为"font-awesome/font/"
,以匹配webfonts的位置 -
在我的html文件中,在FontAwesome examples page中添加了一个示例,所以我添加了一个
<i class="icon-camera-retro"></i> Some text
-
在我的主sass文件中,添加了@ font-face声明
@include font-face('FontAwesome',font-files('font-awesome / font / fontawesome-webfont.woff',woff,'font-awesome / font / fontawesome-webfont.ttf',ttf,'font-awesome /font/fontawesome-webfont.svg',svg),'font-awesome / font / fontawesome-webfont.eot');
%icon-font {font-family:'FontAwesome',Helvetica,Arial,sans-serif; }
- 在选择器中扩展字体
.icon-camera-retro {@extend%icon-font; }
-
使用
compass --watch
编译我的主sass样式表,没有错误 -
上传了所有内容
为了帮助澄清,这是我的项目的结构:
root
sass
mainsass.scss
css
font-awesome
css
font-awesome.css
font
font-archives.ttf/.woff/etc
scss
_partials (_variables.scss, _path.scss, _core.scss, etc)
font-awesome.scss
fonts
some-custom-font.ttf
mainsass.css
所以,如果有人读过这里,我已经欣赏了,请问任何想法?
5 回答
好的,我得到了帮助,主要问题是路径有几个问题 . 我会在这里解释它们,以防它帮助我的位置 .
The problem was: 确实没有加载字体文件
The errors: 主要与路径以及指南针和sass在@import中的行为有关
The corrections to my steps above:
1)你不能对那个做错...
2)首先,不要将整个文件夹放在css目录中 . 每种类型的文件都应该放在其目录中,因此sass目录下的.scss文件,css / fonts目录下的字体文件(.ttf,.woff等) .
由于
@import
的工作方式,这在Sass中非常重要 . 在Sass Reference说我忽略了这一点,并将我的.scss文件放在其他目录中,这就是为什么无法找到正常的
@import
. 这引导我们进入下一点 .3)尝试将.scss文件作为url()导入是愚蠢的,我试图这样做,因为常规的
@import
无效 . 一旦font-awesome.scss文件在我的sass目录中,我现在可以@import "font-awesome/font-awesome.scss"
4)在这里,
@import
路径相对于.scss文件,只要font-awesome.scss及其部分位于同一文件夹中,就不需要触摸它们 .5)那是对的,您需要更改
@FontAwesomePath
以匹配您的字体目录6)当然你需要一个HTML示例进行测试,所以确定
7)这是不必要的,它已经在我正在导入的字体-awesome.scss中 . 干 .
8)同上,不必要 .
9&10)是的女孩,干得好
So, what to learn from this :检查您的路径两次,考虑Sass中的@import如何仅在当前的sass目录中查找(默认情况下) .
That work for me:
此方法正常,但每次设置新项目并链接所有文件时,都必须下载整个fontawesome文件夹 . 通过安装SASS Ruby Gem,您可以避免额外的工作 .
安装自定义字体令人敬畏的sass的步骤 .
下载font-awesome文件夹并解压缩 .
打开解压缩的文件夹>> font-awesome / scss,在那里你会找到font-awesome.scss和font-awesome部分文件 . 将所有这些文件移动到项目的scss文件夹中 .
将font-awesome文件夹内的fonts文件夹移动到项目文件夹>> Project / fonts
打开_varaible.scss并将路径更改为
$ fa-font-path:“../ fonts”!default; {在这种情况下你的字体的相对路径是../../fonts}
现在,你们都准备好了
https://fortawesome.github.io/Font-Awesome/get-started/
得到font-awesome
yarn add font-awesome
或bower install font-awesome
(不推荐)现在转到font-awesome目录并复制fonts文件夹并将其粘贴到css文件夹或scss文件夹中的一个文件夹中 . 例如:
./ ./bower_components/* ./node_modules/* ./styles/main.scss ./fonts ./index.html
完成!
如果您不想复制fonts文件夹,另一种方法是在
main.scss
文件中添加以下行:$fa-font-path: "../bower_components/font-awesome/fonts/"; @import "../bower_components/font-awesome/scss/font-awesome";