




FontAwesome伪元素图标不显示的主因是字体文件未加载、CSS选择器失效或content值与版本Unicode不匹配;需确保版本一致(v5/v6编码不同)、font-family正确设置、字体文件HTTP状态为200且MIME类型合法,并排除display/visibility等隐藏样式干扰。
FontAwesome 伪元素图标不显示,通常不是代码写错了,而是字体文件没加载成功、CSS 选择器未生效、或 content 值不匹配当前版本的 Unicode 编码。关键在于:你引入的 FontAwesome 版本,必须和你在 ::before 中写的 content 值严格对应。
FontAwesome v6 和 v5 的 Unicode 编码完全不同,混用必失败。比如 fa-home 在 v5 是 \f015,v6 是 \e123(实际以官方 CSS 文件为准)。不要凭记忆写,直接查你本地引入的 CSS 文件或官网文档。
all.css 或 solid.css(非 font-awesome.min.css 这类旧版)webfonts/... 字体文件状态为 200,且 MIME 类型是 font/woff2 等合法类型仅写 content: "\f015" 不够。图标依赖 FontAwesome 提供的字体族,必须显式设置 font-family
,并确保父容器不重置字体继承。
.icon-home::before {
font-family: "Font Awesome 5 Free";
font-weight: 900; /* solid 图标需 900,regular 用 400 */
content: "\f015";
}"Font Awesome 6 Free",且需注意是否启用了 svg-core 模式(默认已禁用伪元素,需手动开启)font-family: sans-serif 等覆盖,导致子元素伪元素无法继承字体即使内容和字体都对,也可能被其他样式压制:
display: none、visibility: hidden 或 opacity: 0 隐藏font-family 覆盖(例如全局重置样式)border: 1px solid red,确认它是否渲染出了盒子 —— 如果盒子有,图标没出现,就是字体或 content 问题;如果盒子都没,就是选择器不匹配或 display 被设为 none伪元素易出错,现代项目更建议用 SVG 内联方式:
即可config = { familyPrefix: "fa", active: true }(见官方文档 “CSS Pseudo-Elements”)