CSS 中的 @font-face 规则用于定义自定义字体并使它们可在您的网页中使用。此规则允许网页设计者嵌入或链接到字体文件,然后可以使用该字体文件来设置网页上文本元素的样式。
自定义字体可以从远程服务器或本地安装的加载用户设备上的字体。
概述
url() 和 local() 可以同时使用。如果本地副本可用并且匹配,则可以使用它,否则来自远程服务器的自定义字体将用作后备选项。
local() 应在之前编写url(),因为浏览器按照声明列表的顺序加载资源。
local() 和 url() 这两个函数都是可选的。
包含一个或多个 local() 且不包含 url() 的规则块是有效的。
应在之前列出更具体的字体不太具体的字体版本。
@font-face 允许用户定义自己的自定义字体,从而可以超越网络安全字体,而不仅仅是依赖在互联网连接上。
语法
@font-face =
@font-face { <declaration-list> }
CSS @font-face 规则可以在任何 CSS 中使用conditional-group-at-rule,除了在顶层使用之外。
CSS @font-face: 字体 MIME 类型
MIME 代表多用途互联网邮件扩展有助于指示文档或文件的性质和格式。
下表显示了不同的格式及其关联的 MIME 类型:
格式 | MIME 类型 |
---|---|
TrueType | font/ttf |
OpenType | font/otf |
Web Open Font Format | font/woff |
Web Open Font Format 2 | font/woff2 |
对于网页字体应用相同的域限制,即字体文件必须在与使用它们的网页相同的域。
@font-face 规则不能在 CSS 选择器中声明。
CSS @font-face: 指定本地字体替代品
以下示例演示使用"Sansation Light Font"的本地副本使用 @font-face at-rule。
<html>
<head>
<style>
@font-face {
font-family: "Sansation Light Font";
src: url("font/SansationLight.woff");
}
body {
font-family: "Sansation Light Font", serif;
}
</style>
</head>
<body>
<h2>@font-face at-rule</h2>
<p>This is SansationLight Font.</p>
</body>
</html>
描述符
下表给出列出与@font-face相关的所有描述符:
描述符/属性 | 描述 |
---|---|
ascent-override | 设置字体的上升度量。 |
descent-override | 设置字体的下降度量。 |
font-display | 指定字体的显示方式。 |
font-family | 确定将用作字体属性的字体值的名称。 |
font-stretch | 设置字体的外观。 |
font-style | 设置字体样式。 |
font-weight | 设置字体的粗细或粗细。 |
line-gap-override | 设置行间距度量所选字体。 |
size-adjust | 设置倍数用于与所选字体关联的字形轮廓和规格。 |
src | 提供字体资源的参考,例如格式和技术。 @font-face 规则必须有效。 |
unicode-range | 提供字体的 Unicode 代码打印范围。 |