字体不显示主因是@font-face声明错误或字体路径、格式、权限问题;应检查路径准确性(推荐绝对路径)、多格式兼容性(woff2优先)、语法完整性、跨域及MIME类型配置。
字体不显示,大概率是 @font-face 声明写得不对,或者字体文件路径、格式、加载权限出了问题。关键不是“加了没”,而是“加得对不对”。
相对路径容易出错,尤其项目结构嵌套深时。浏览器控制台(F12 → Network → Fonts)会明确标出 404 的字体请求。
/ 开头),比如 src:
url('/fonts/MyFont.woff2')
.woff2 ≠ .woff)不同浏览器支持的字体格式不同,单写一种格式很容易在某些设备上失效。
.woff2(现代浏览器首选,体积小、渲染优).woff(覆盖大部分旧版 Chrome/Firefox/Safari).ttf 或 .eot(仅需兼容 IE9 及更老版本)声明本身要完整,调用时名称必须完全一致(区分大小写)。
font-family 是自定义名称,不是文件名:font-family: 'MyCustomFont';
src 必须包含 url(),且多个格式用逗号分隔:src: url('...woff2') format('woff2'), url('...woff') format('woff');
font-family 中定义的名称,不要带后缀或路径:body { font-family: 'MyCustomFont', sans-serif; }
font-weight 和 font-style 区分粗细/斜体变体,避免浏览器强行模拟字体文件若从其他域名加载(如 CDN),需服务端设置 Access-Control-Allow-Origin;本地开发时,部分服务器(如 Python SimpleHTTPServer)默认不返回正确的字体 MIME 类型,导致加载失败。
Content-Type: font/woff2(对应格式)