CSS Web 字体
Web 字体允许网页直接使用位于网页服务器上的字体。本文介绍了不同的字体格式,以及如何使用网络字体的方法。
Web 字体允许网页直接使用位于网页服务器上的字体,而不再局限于用户计算机必须安装的字体。
网页设计师只需要在 CSS 中使用 @font-face
声明字体,使用起来就像其他字体一样。浏览器显示网页的时候会在需要时自动下载字体给用户。
不同的字体格式
TrueType 字体 (TTF)
TrueType 是 1980 年代后期由 Apple 和 Microsoft 开发的字体标准。TrueType 是 Mac OS 和 Microsoft Windows 操作系统最常用的字体格式。
OpenType 字体 (OTF)
OpenType 是一种用于可缩放计算机字体的格式。它基于 TrueType 构建,是 Microsoft 的注册商标。OpenType 字体如今在主要计算机平台上普遍使用。
网络开放字体格式 (WOFF)
WOFF 是一种用于网页的字体格式。它于 2009 年开发,现在是 W3C 推荐标准。WOFF 本质上是带有压缩和附加元数据的 OpenType 或 TrueType。目标是支持在带宽受限的网络上从服务器到客户端的字体分发。
网络开放字体格式 (WOFF 2.0)
提供比 WOFF 1.0 更好的压缩比。
SVG 字体/形状
SVG 字体允许在显示文本时将 SVG 用作字形。SVG 1.1 规范定义了一个字体模块,允许在 SVG 文档中创建字体。您还可以将 CSS 应用于 SVG 文档,@font-face 规则可以应用于 SVG 文档中的文本。
嵌入式 OpenType 字体 (EOT)
EOT 字体是一种紧凑形式的 OpenType 字体,由 Microsoft 设计,用作网页上的嵌入字体。
浏览器对字体格式的支持
表中的数字指定了第一个完全支持字体格式的浏览器版本。
字体格式 | IE | Chrome | Firefox | Safari | Opera |
---|---|---|---|---|---|
TTF/OTF | 9.0* | 4.0 | 3.5 | 3.1 | 10.0 |
WOFF | 9.0 | 5.0 | 3.6 | 5.1 | 11.1 |
WOFF2 | 14.0 | 36.0 | 39.0 | 10.0 | 26.0 |
SVG | 不支持 | 不支持 | 不支持 | 3.2 | 不支持 |
EOT | 6.0 | 不支持 | 不支持 | 不支持 | 不支持 |
!! IE:字体格式仅在设置为“可安装”时才有效。
定义一个字体
在 @font-face
规则中,首先使用 font-family
定义字体的名称 myFirstFont
,然后使用 src
指向实际的字体文件。
!! **提示:**始终使用小写字母作为字体 URL。大写字母会在 IE 中产生意想不到的结果。
要为 HTML 元素使用字体,请通过 font-family
属性引用字体名称 (myFirstFont
) :
@font-face {
font-family: myFirstFont;
src: url(sansation_light.woff);
}
div {
font-family: myFirstFont;
}
定义粗体字体
为了使用字体的粗体格式,还需要添加另一个 @font-face
包含粗体字体的规则。
@font-face {
font-family: myFirstFont;
src: url(sansation_bold.woff);
font-weight: bold;
}
myFirstFont
保持和普通字体一样,文件 “sansation_bold.woff” 对应的是粗体字体文件。
通过这种方式,可以为相同的字体设置多个 @font-face
规则。