0

0

使用 @font-face 引入自定义字体:完整教程

花韻仙語

花韻仙語

发布时间:2025-09-01 18:29:00

|

231人浏览过

|

来源于php中文网

原创

使用 @font-face 引入自定义字体:完整教程

本文将详细介绍如何使用 CSS 的 @font-face 规则引入并应用自定义字体。通过本文,你将学会如何在网页中使用下载的字体文件,避免浏览器默认字体带来的局限性,从而提升网页的视觉效果和个性化程度。我们将提供清晰的代码示例和注意事项,助你轻松掌握这一实用技巧。

使用 @font-face 引入自定义字体

@font-face 规则允许开发者在网页中使用服务器上的字体,而无需依赖用户设备上已安装的字体。这为网页设计提供了更大的灵活性和自由度,可以实现更加个性化的视觉效果。

1. 声明 @font-face 规则

首先,需要在 CSS 中声明 @font-face 规则。该规则定义了字体的名称、字体文件的路径等信息。

@font-face {
  font-family: 'MyCustomFont';
  src: url('path/to/my-custom-font.woff2') format('woff2'),
       url('path/to/my-custom-font.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}
  • font-family: 指定字体的名称。这个名称将在后续的 CSS 规则中被引用,用于指定元素使用的字体。注意,名称要使用单引号或双引号包裹。
  • src: 指定字体文件的路径。可以使用相对路径或绝对路径。建议提供多种字体格式(如 WOFF2, WOFF, TTF, OTF)以兼容不同的浏览器。format() 函数用于指定字体文件的格式,帮助浏览器选择合适的字体文件。 WOFF2 格式是目前推荐的 Web 字体格式,因为它提供了更好的压缩率和性能。
  • font-weight: 指定字体的粗细。常见的取值有 normal (400), bold (700), lighter, bolder 以及数值 (100-900)。
  • font-style: 指定字体的样式。常见的取值有 normal (正常), italic (斜体), oblique (倾斜)。

2. 应用自定义字体

声明了 @font-face 规则后,就可以在 CSS 规则中使用 font-family 属性来应用自定义字体。

body {
  font-family: 'MyCustomFont', sans-serif;
}

h1 {
  font-family: 'MyCustomFont', serif;
}

.special-text {
  font-family: 'MyCustomFont', cursive;
}

在上面的例子中,body 元素将使用 MyCustomFont 字体。如果浏览器无法加载或识别该字体,将回退到 sans-serif 字体。类似地,h1 元素和 .special-text 类将分别使用 serif 和 cursive 作为备用字体。

3. 确保字体文件路径正确

最常见的问题是字体文件路径错误。请仔细检查 src 属性中指定的字体文件路径是否正确。可以使用浏览器的开发者工具来检查字体文件是否成功加载。如果字体文件加载失败,开发者工具会显示相应的错误信息。

4. 浏览器缓存

有时候,即使字体文件路径正确,浏览器也可能无法正确加载字体。这可能是因为浏览器缓存了旧的字体文件。可以尝试清除浏览器缓存,或者使用强制刷新(Ctrl + Shift + R 或 Cmd + Shift + R)来重新加载页面。

5. 字体格式兼容性

不同的浏览器对字体格式的支持程度不同。为了确保最佳的兼容性,建议提供多种字体格式,例如 WOFF2, WOFF, TTF 和 OTF。

一键职达
一键职达

AI全自动批量代投简历软件,自动浏览招聘网站从海量职位中用AI匹配职位并完成投递的全自动操作,真正实现'一键职达'的便捷体验。

下载

示例代码

以下是一个完整的示例,展示了如何使用 @font-face 规则引入并应用自定义字体:

HTML (index.html):




  Custom Font Example
  


  

This is a heading with a custom font.

This is a paragraph with a custom font.

CSS (style.css):

@font-face {
  font-family: 'MyCustomFont';
  src: url('fonts/MyCustomFont-Regular.woff2') format('woff2'),
       url('fonts/MyCustomFont-Regular.woff') format('woff');
  font-weight: normal;
  font-style: normal;
}

body {
  font-family: 'MyCustomFont', sans-serif;
}

h1 {
  font-family: 'MyCustomFont', serif;
}

目录结构:

my-project/
├── index.html
├── style.css
└── fonts/
    ├── MyCustomFont-Regular.woff2
    └── MyCustomFont-Regular.woff

注意事项

  • 字体授权: 确保你有权使用你所使用的字体。某些字体可能需要购买授权才能在网页上使用。
  • 字体文件大小: 字体文件的大小会影响网页的加载速度。尽量选择压缩率较高的字体格式(如 WOFF2),并对字体文件进行优化。
  • 跨域问题: 如果字体文件位于不同的域名下,可能会遇到跨域问题。需要配置服务器以允许跨域访问字体文件。通常通过设置 Access-Control-Allow-Origin HTTP 响应头来解决。

总结

@font-face 规则是 CSS 中一个非常强大的功能,它允许开发者在网页中使用自定义字体,从而实现更加个性化的视觉效果。通过本文的介绍,你应该已经掌握了如何使用 @font-face 规则引入并应用自定义字体。请记住,确保字体文件路径正确,提供多种字体格式,并注意字体授权和文件大小,以获得最佳的效果。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

760

2023.07.31

python中的format是什么意思
python中的format是什么意思

python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

432

2024.06.27

http500解决方法
http500解决方法

http500解决方法有检查服务器日志、检查代码错误、检查服务器配置、检查文件和目录权限、检查资源不足、更新软件版本、重启服务器或寻求专业帮助等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

409

2023.11.09

http请求415错误怎么解决
http请求415错误怎么解决

解决方法:1、检查请求头中的Content-Type;2、检查请求体中的数据格式;3、使用适当的编码格式;4、使用适当的请求方法;5、检查服务器端的支持情况。更多http请求415错误怎么解决的相关内容,可以阅读下面的文章。

418

2023.11.14

HTTP 503错误解决方法
HTTP 503错误解决方法

HTTP 503错误表示服务器暂时无法处理请求。想了解更多http错误代码的相关内容,可以阅读本专题下面的文章。

2210

2024.03.12

http与https有哪些区别
http与https有哪些区别

http与https的区别:1、协议安全性;2、连接方式;3、证书管理;4、连接状态;5、端口号;6、资源消耗;7、兼容性。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2067

2024.08.16

vb中怎么连接access数据库
vb中怎么连接access数据库

vb中连接access数据库的步骤包括引用必要的命名空间、创建连接字符串、创建连接对象、打开连接、执行SQL语句和关闭连接。本专题为大家提供连接access数据库相关的文章、下载、课程内容,供大家免费下载体验。

325

2023.10.09

vb连接access数据库的方法
vb连接access数据库的方法

vb连接access数据库方法:1、使用ADO连接,首先导入System.Data.OleDb模块,然后定义一个连接字符串,接着创建一个OleDbConnection对象并使用Open() 方法打开连接;2、使用DAO连接,首先导入 Microsoft.Jet.OLEDB模块,然后定义一个连接字符串,接着创建一个JetConnection对象并使用Open()方法打开连接即可。

411

2023.10.16

Python 自然语言处理(NLP)基础与实战
Python 自然语言处理(NLP)基础与实战

本专题系统讲解 Python 在自然语言处理(NLP)领域的基础方法与实战应用,涵盖文本预处理(分词、去停用词)、词性标注、命名实体识别、关键词提取、情感分析,以及常用 NLP 库(NLTK、spaCy)的核心用法。通过真实文本案例,帮助学习者掌握 使用 Python 进行文本分析与语言数据处理的完整流程,适用于内容分析、舆情监测与智能文本应用场景。

10

2026.01.27

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3万人学习

CSS教程
CSS教程

共754课时 | 24.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号