FontAwesome 怎么在网页中使用:从引入到显示图标的完整步骤

在网页中使用 FontAwesome,核心只有三步:引入它的 CSS 文件、在 HTML 里写对应的图标类名、再用 CSS 调整大小和颜色。它本质上是一套图标字体(webfont)加配套样式表,浏览器把特定字符渲染成图标,所以调用方式和设置文字样式几乎一样。下面按实际操作顺序展开,并说明不同引入方式的取舍和常见故障排查。

一、先理解它是什么,再决定怎么用

FontAwesome 把每个图标做成一个矢量字形,通过 CSS 的 ::before 伪元素把对应字符插入到元素前面。你在页面上写一个 <i> 或 <span>,加上类名,图标就出现了。

它和另外两种常见做法有区别:

方式 优点 局限
图标字体(FontAwesome 经典用法) 调用简单,改颜色和大小只需 CSS,一套文件覆盖大量图标 需要加载字体文件,图标本质是文字,语义偏弱
直接使用图片(PNG/JPG) 兼容性直观,所见即所得 放大失真,换色要重新导出,请求数多
内联 SVG 矢量清晰,可单独控制路径,语义好 每个图标代码较长,批量管理成本高

如果你需要快速在按钮、导航、列表里加图标,并且希望统一用 CSS 控制样式,字体图标方式最省事。如果对可访问性和精细控制要求高,可以优先考虑 SVG 方案。

二、选择引入方式:CDN 还是本地文件

方式一:通过 CDN 引入(适合快速上手和中小项目)

在 <head> 里加一行样式表链接即可。使用官方或可信的 CDN 地址,例如:

<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free/css/all.min.css">

优点是不用下载文件,改版本只改链接;缺点是依赖外部网络,离线环境或内网项目不可用,也可能受 CDN 可用性影响。

方式二:下载后本地引用(适合离线、内网或需要固定版本的项目)

  1. 从 FontAwesome 官方渠道下载免费版压缩包。
  2. 解压后把 css 和 webfonts 两个目录一起放进项目静态资源目录,注意保持它们的相对位置不变。
  3. 在页面中引用本地 CSS:
<link rel="stylesheet" href="/static/fontawesome/css/all.min.css">

关键点是 css 和 webfonts 必须放在同一父级下,因为 CSS 内部用相对路径去加载字体文件。只复制 CSS 而漏掉字体目录,是图标显示成方块或空白的最常见原因。

三、在 HTML 中调用图标

基本写法是给一个行内元素加上图标类名。以免费版为例:

<!-- 实心图标 -->
<i class="fas fa-home"></i>

<!-- 品牌图标 -->
<i class="fab fa-github"></i>

<!-- 用 span 也可以 -->
<span class="fas fa-search"></span>

类名结构可以这样理解:

  • 前缀表示图标风格:fas 是实心(Solid),far 是常规(Regular),fab 是品牌(Brands)。免费版里实心和品牌图标最全,常规风格可用数量有限。
  • 第二个类名是具体图标名,如 fa-home、fa-user、fa-search。
  • 新版本也支持更简短的写法,但为兼容性考虑,沿用 fas/far/fab 前缀更稳妥。

图标本质是文字,所以可以直接放在文字旁边,用空格或外边距控制间距。

四、调整大小、颜色和常用效果

因为图标是字体,控制它和设置文字样式一样:

<!-- 用内联样式快速验证 -->
<i class="fas fa-star" style="color: #f5a623; font-size: 24px;"></i>

更推荐写在 CSS 里统一管理:

.icon {
  color: #333;
  font-size: 20px;
  margin-right: 6px;
  vertical-align: middle;
}
<i class="fas fa-check icon"></i>已完成

FontAwesome 还内置了一些尺寸类,例如 fa-lg、fa-2x、fa-3x,以及 fa-fw(固定宽度,适合做列表对齐)、fa-spin(旋转动画)。这些类名可以直接叠加:

<i class="fas fa-spinner fa-spin fa-2x"></i>

如果图标和文字基线对不齐,用 vertical-align: middle 通常能解决大部分情况。

五、图标不显示时的排查顺序

遇到空白方块、方框或什么都不显示,按下面顺序检查:

  1. CSS 是否加载成功:打开浏览器开发者工具的网络面板,确认 all.min.css 返回 200,而不是 404。
  2. 字体文件路径是否正确:如果 CSS 加载了但图标是方块,多半是 webfonts 目录缺失或路径不对。检查 CSS 与字体目录的相对位置。
  3. 类名是否拼写正确:fas 写成 fa、图标名多写或少写字母都会失效。对照官方图标页面复制类名最保险。
  4. 图标是否存在于当前版本:免费版不包含所有图标,某些专业版图标在免费版里不会显示。
  5. 是否被其他样式覆盖:某些 CSS 框架会给 i 或 span 设置 font-family,可能覆盖图标字体。检查计算样式里的 font-family。
  6. CDN 是否被拦截:部分网络环境会屏蔽外部 CDN,换成本地引用即可验证。

六、给初学者的实践建议

  • 先用 CDN 方式跑通一个最小示例,确认图标能显示,再决定是否改为本地引用。
  • 项目里统一用一套前缀和命名习惯,避免混用不同版本导致类名冲突。
  • 图标是装饰性内容时,可以配合 aria-hidden="true";如果图标承担了唯一含义(比如只有图标的按钮),补上文字标签或 aria-label 更利于可访问性。
  • 需要固定版本时,本地引用比 CDN 更可控,升级时替换整个目录即可。

按以上步骤,从引入样式表到页面上出现图标通常几分钟就能完成。真正容易出问题的环节集中在字体目录路径和类名拼写上,遇到不显示时优先查这两处。

fontawesome.com.cn
Fontawesome中文版webfont,是一款基于css框架的网页字体图标库,它完全免费