CSS字体不生效?@font-face使用教程
时间:2025-12-18 13:41:27 310浏览 收藏
编程并不是一个机械性的工作,而是需要有思考,有创新的工作,语法是固定的,但解决问题的思路则是依靠人的思维,这就需要我们坚持学习和更新自己的知识。今天golang学习网就整理分享《CSS字体不生效?@font-face声明方法详解》,文章讲解的知识点主要包括,如果你对文章方面的知识点感兴趣,就不要错过golang学习网,在这可以对大家的知识积累有所帮助,助力开发能力的提升。
字体不生效主因是@font-face声明错误,需确保路径正确(相对CSS文件)、格式齐全(woff2/woff/ttf)、调用精准(名称大小写及引号严格匹配)。

字体不生效,大概率是 @font-face 声明没写对,或者路径、格式、调用方式出了问题。核心就三点:路径要对、格式要全、调用要准。
检查字体文件路径是否正确
相对路径容易出错,尤其当 CSS 文件和字体文件不在同一级目录时。推荐用相对于 CSS 文件的路径,而不是 HTML 页面。
- 如果 CSS 在
css/style.css,字体在fonts/zhongyu.ttf,路径应写:url('../fonts/zhongyu.ttf') - 避免使用
./开头(多余),也别用绝对根路径(/fonts/...)除非你确定部署结构固定 - 浏览器开发者工具(Network 标签页)里搜字体文件名,看是否 404 —— 这是最直接的验证方式
确保提供多格式兼容主流浏览器
单一种格式(比如只给 .ttf)会导致部分浏览器(尤其是旧版 Safari、IE)无法加载。按需提供以下组合:
woff2(现代浏览器首选,体积小、性能好)woff(广泛兼容,推荐必加)truetype (.ttf)或opentype (.otf)(作为兜底,尤其对桌面端老系统)
声明时按兼容性从高到低排列,浏览器会自动选用第一个支持的格式:
@font-face {
font-family: 'MyFont';
src: url('font.woff2') format('woff2'),
url('font.woff') format('woff'),
url('font.ttf') format('truetype');
}
font-family 名称与实际调用必须完全一致
声明里的 font-family: 'MyFont' 是自定义名称,不是文件名。后续用 font-family: 'MyFont' 才能生效,大小写、空格、引号都要严格匹配。
- 不要写成
font-family: MyFont(没引号,且首字母小写) - 避免中文名或特殊符号,如
'思源黑体'在某些环境可能解析异常,建议用英文别名:font-family: 'SourceHanSans' - 可在开发者工具的 Elements 面板中,选中元素后看 Computed → font-family,确认是否成功应用
注意字体加载时机与 fallback 处理
字体加载有延迟,页面可能先显示默认字体再替换(FOIT/FOUT)。若长时间空白或始终不换,可能是加载失败或被阻塞。
- 加
font-display: swap;让文本先用系统字体显示,等自定义字体加载完再切换(推荐) - 确保没有其他同名
font-family覆盖了你的声明(比如全局重置样式或 UI 框架自带字体规则) - 内联 CSS 或
@import引入的字体声明,需确保在使用前已解析;建议放在 CSS 文件顶部
基本上就这些。不复杂但容易忽略细节,逐项核对路径、格式、命名、调用,90% 的字体不生效问题都能解决。
本篇关于《CSS字体不生效?@font-face使用教程》的介绍就到此结束啦,但是学无止境,想要了解学习更多关于文章的相关知识,请关注golang学习网公众号!
-
502 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
501 收藏
-
237 收藏
-
215 收藏
-
476 收藏
-
238 收藏
-
407 收藏
-
429 收藏
-
453 收藏
-
109 收藏
-
106 收藏
-
227 收藏
-
368 收藏
-
172 收藏
-
- 前端进阶之JavaScript设计模式
- 设计模式是开发人员在软件开发过程中面临一般问题时的解决方案,代表了最佳的实践。本课程的主打内容包括JS常见设计模式以及具体应用场景,打造一站式知识长龙服务,适合有JS基础的同学学习。
- 立即学习 543次学习
-
- GO语言核心编程课程
- 本课程采用真实案例,全面具体可落地,从理论到实践,一步一步将GO核心编程技术、编程思想、底层实现融会贯通,使学习者贴近时代脉搏,做IT互联网时代的弄潮儿。
- 立即学习 516次学习
-
- 简单聊聊mysql8与网络通信
- 如有问题加微信:Le-studyg;在课程中,我们将首先介绍MySQL8的新特性,包括性能优化、安全增强、新数据类型等,帮助学生快速熟悉MySQL8的最新功能。接着,我们将深入解析MySQL的网络通信机制,包括协议、连接管理、数据传输等,让
- 立即学习 500次学习
-
- JavaScript正则表达式基础与实战
- 在任何一门编程语言中,正则表达式,都是一项重要的知识,它提供了高效的字符串匹配与捕获机制,可以极大的简化程序设计。
- 立即学习 487次学习
-
- 从零制作响应式网站—Grid布局
- 本系列教程将展示从零制作一个假想的网络科技公司官网,分为导航,轮播,关于我们,成功案例,服务流程,团队介绍,数据部分,公司动态,底部信息等内容区块。网站整体采用CSSGrid布局,支持响应式,有流畅过渡和展现动画。
- 立即学习 485次学习