先查这三件事:①all.min.css是否200加载成功;②类名是否匹配fa6规范(如fas fa-house);③link标签是否置于head最顶部且在图标元素之前。

CDN 引入 Font Awesome 后图标不显示,先查这三件事
90% 的问题不是代码写错,而是加载链断在某个环节。CDN 方式看似简单,但依赖网络、路径、类名三者严丝合缝。
-
all.min.css是否成功加载?打开 DevTools → Network → 过滤css,确认状态码是200,不是404或blocked - 类名是否匹配 v6 规范?
fa-home已失效,必须写成fas fa-house(fas表示 solid 风格,fa-house是新图标名) -
<link>标签是否在使用图标的 HTML 元素之前?把它放在最顶部,别被其他 CSS 或 JS 挡住
Iconfont 的 <link> 引入为什么只显示方块
这不是字体没加载,而是字符映射断裂:浏览器靠 .icon-home::before { content: "\e600"; } 插入私有区 Unicode,再靠 @font-face 加载的字体把 \e600 渲染成图形。任一环节出错,就只剩方块。
彩色通用功能图标合集矢量素材适用于手机APP应用软件UI界面设计、企业官网后台导航栏、商业企划书PPT排版美化、产品功能说明书配图等相关视觉场景设计,由AI生成的Ai格式素材。
- 打开
iconfont.css,搜索icon-home,确认它真有定义,且content值是非空 Unicode(如"\e600"),不是空字符串或注释掉 - DevTools → Network → 过滤
font,看iconfont.woff2请求是否返回200;若404,说明路径错;若200但图标仍不显,可能是服务器没配font/woff2MIME 类型 - 检查 computed 样式,确认元素实际应用的
font-family是'iconfont';如果父级写了font-family: sans-serif且没 fallback,字符会被降级显示
Google Material Icons 的 <link> 写法和调用细节
它不像 Font Awesome 那样靠 class 组合,而是直接把图标名当文本内容,靠字体映射渲染——所以对 HTML 结构和字体加载顺序更敏感。
- 引入必须用:
<link href="https://fonts.googleapis.com/icon?family=Material+Icons" rel="stylesheet">,少一个参数或拼错都会失败 - 调用时用
<i class="material-icons">face</i>,注意:里面是纯文本face,不能加空格、换行、HTML 实体,也不能写成 - 默认会继承父级
font-size和line-height,若图标上下偏移,加vertical-align: middle或设display: inline-flex更稳
本地开发时 <link> 引入的字体文件 404 怎么修
根本原因:CSS 文件里的 url('iconfont.woff2') 是相对于 CSS 文件自身位置的,不是相对于 HTML 页面。很多人把 iconfont.css 放在 /css/,却把字体丢在 /fonts/,浏览器自然去请求 /css/iconfont.woff2。
- 最稳做法:把
iconfont.woff2、iconfont.woff和iconfont.css放在同一目录,比如/static/fonts/iconfont/,CSS 里保持原样url('iconfont.woff2') - 必须分开时:打开
iconfont.css,全局替换所有url('iconfont.为url('../fonts/iconfont/iconfont.(注意路径是相对于 CSS 文件) - 绝对路径
url('/fonts/iconfont.woff2')在本地开发服务器(如 Vite 的localhost:3000/myapp/)下大概率失效,别用
content 值、MIME 类型配置——这四个点任意一个松动,图标就变方块。它们不报错,也不警告,只沉默地留白。










