CSS @font-face 规则
CSS @font-face 允许网页开发者为其网页指定在线字体。 通过这种作者自备字体的方式,@font-face 可以消除对用户电脑字体的依赖。 @font-face 不仅可以放在在CSS的最顶层, 也可以放在 @规则 的 条件规则组 中。
实例
指定一种名为 "myFirstFont" 的字体,并规定可以找到它的 URL:
<!DOCTYPE html><html><head><style>@font-face {font-family: myFirstFont;src: url(sansation_light.woff);}div {font-family: myFirstFont;}</style></head><body><h2>@font-face 规则</h2><div>通过 CSS,网站终于可以使用除预先选择的“网络安全”字体以外的其他字体。</div></body></html>
定义和用法
通过使用 @font-face 规则,Web 设计师不必再使用任何一种"网络安全"字体。
在 @font-face 规则中,您必须首先定义字体名称(例如 myFirstFont),然后指向字体文件。
提示:字体的 URL 使用小写字母。大写字母可能会在 IE 中产生意外结果!
如需将字体用于 HTML 元素,请通过 font-family 属性引用字体的名称(myFirstFont):
div {font-family: myFirstFont;}
浏览器支持
Internet Explorer、Firefox、Opera、Chrome 和 Safari 都支持 @font-face 规则。
表格中的数字注明了完全支持字体格式的首个浏览器版本。
| 字体格式 | |||||
|---|---|---|---|---|---|
| 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 | Not supported | Not supported | Not supported | 3.2 | Not supported |
| EOT | 6.0 | Not supported | Not supported | Not supported | Not supported |
- Edge 和 IE: 字体格式仅在设置为 "installable" 时有效
- Firefox:默认情况下是禁用的,但可启用(需要将 flag 设置为 "true" 才能使用 WOFF2)。
语法
@font-face {font-properties}
| 字体描述符 | 值 | 描述 |
|---|---|---|
| font-family | name | 必需。定义字体名称。 |
| src | URL | 必需。定义下载字体的 URL。 |
| font-stretch |
| 可选。定义应如何拉伸字体。默认值是 "normal"。 |
| font-style |
| 可选。定义字体样式。默认值是 "normal"。 |
| font-weight |
| 可选。定义字体的粗细。默认值是 "normal"。 |
| unicode-range | unicode-range | 可选。定义字体支持的 Unicode 字符范围。默认值是 "U+0-10FFFF"。 |
更多实例
实例
您必须添加另一个 @font-face 规则,其中包含粗体文本的描述符:
<!DOCTYPE html><html><head><style>@font-face {font-family: myFirstFont;src: url(/example/css/sansation_light.woff);}@font-face {font-family: myFirstFont;src: url(/example/css/sansation_bold.woff);font-weight: bold;}div {font-family: myFirstFont;}</style></head><body><h2>@font-face 规则</h2><div>通过 CSS,网站终于可以使用除预先选择的“网络安全”字体以外的其他字体。</div></body></html>
文件 "sansation_bold.woff" 是另一个字体文件,其中包含 Sansation 字体的粗体字符。
每当设置字体族 "myFirstFont" 的一段文本应呈现为粗体时,浏览器就会使用它。
这样,您可以为同一字体设置多个 @font-face 规则。
相关页面
CSS 教程:CSS Web 字体