能否在FontAwesome v4.7中使用v5的fa-fire图标且无需完整下载v5包?
嘿,咱们一个个来解决你的问题哈!
1. 能不能在FontAwesome v4.7中使用FontAwesome v5的图标?
答案是可以,但需要注意一点:v4和v5的底层结构不兼容——类名规则、字体文件编码、Unicode映射都不一样,直接混用会出问题。
- 最简单的方法是同时加载v4和v5的CSS资源(如果不想下载本地文件,用v5的CDN服务就行)。只要用对前缀就好:v4的图标继续用
fa fa-xxx的写法,v5的fa-fire这类图标要用v5的前缀,比如实心样式的fas fa-fire(v5把图标分成了实心、常规、品牌等不同样式分类)。 - 小提醒:同时加载两个版本可能会有轻微的样式冲突(比如默认尺寸、间距)。想避免的话,可以给v5图标套个自定义容器类,覆盖冲突样式;或者用v5的
fa-fw(固定宽度)类来对齐v4图标的尺寸。
另外,你也可以手动从v5里提取fa-fire的字体数据和CSS规则,但这种方法太繁琐,远不如同时加载两个版本来得高效。
2. 能不能不下载完整v5包、不删除或添加文件,仅更新CSS/Webfonts文件来获取更新后的
fa-fire图标? 很遗憾,直接替换v4的CSS或字体文件是行不通的,原因如下:
- v4和v5用的是完全不同的字体文件——字符映射、字体格式、内部结构都不一样。v5里的
fa-fire对应的Unicode码和v4里的任何图标都不重合,所以v4的CSS根本不知道该把fa-fire类映射到哪个字形上。
不过,有个符合你“不下载完整包、不删除文件”要求的变通方法:用v5的CDN服务加载仅fa-fire所需的样式(或者直接加载完整的v5 CSS,它的体积对大多数场景来说都很轻便)。
你不需要下载本地文件,也不用修改现有的v4配置——只要在HTML的head里加个v5的CSS引用,然后在需要用更新后图标的地方写fas fa-fire就行。原来的v4图标依然用fa fa-xxx的写法,完全不受影响,v5的图标会从CDN获取样式。
如果你实在不想加载完整的v5 CSS,可以用FontAwesome的图标嵌入工具生成仅fa-fire的独立SVG或CSS代码片段,然后把这段代码加到你的项目里。这样就只添加了这一个图标的代码,而不是整个v5库。
内容的提问来源于stack exchange,提问作者Matt Bristow
相关产品推荐
相关产品推荐

