CSS Font Loading API - 提供了用于动态加载字体资源的事件和接口
这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。
CSS 字体加载 API 提供了用于动态加载字体资源的事件和接口。
注意: Web Workers 中提供了此功能(
self.fonts
提供对FontFaceSet
的访问)。
接口
FontFace
表示一个可用的字体。
FontFaceSet
加载字体并检查其下载状态的接口。
FontFaceSource
一个 mixin,提供所有用于字体相关操作的字体,除非另有定义。它定义了 FontFaceSources.fonts
属性,可用于 Document
和 WorkerGlobalScope
。
FontFaceSetLoadEvent
每当加载 FontFaceSet
时触发。
规范
规范 | 状态 | 备注 |
---|---|---|
CSS Font Loading Module Level 3 | 工作草案 | 初始定义。 |
FontFace
接口
桌面浏览器兼容性
特性 | Chrome | Edge | Firefox | Internet Explorer | Opera | Safari |
---|---|---|---|---|---|---|
基础支持 | 35 | 79 | 41 | 不支持 | 22 | 10 |
FontFace() 构造函数 | 35 | 79 | 41 | 不支持 | 22 | 10 |
display | 60 | 79 | 58 | 不支持 | 47 | 11 |
family | 35 | 79 | 支持 | 不支持 | 支持 | 10 |
featureSettings | 35 | 79 | 支持 | 不支持 | 支持 | 10 |
load | 45 35 — 451 | 79 | 支持 | 不支持 | 支持 | 10 |
loaded | 45 35 — 451 | 79 | 支持 | 不支持 | 支持 | 10 |
status | 35 | 79 | 支持 | 不支持 | 支持 | 10 |
stretch | 35 | 79 | 支持 | 不支持 | 支持 | 10 |
style | 35 | 79 | 支持 | 不支持 | 支持 | 10 |
unicodeRange | 35 | 79 | 支持 | 不支持 | 支持 | 10 |
variant | 35 | 79 | 支持 | 不支持 | 支持 | 10 |
weight | 35 | 79 | 支持 | 不支持 | 支持 | 10 |
在 Worker 中可用 | 69 | 79 | 未知 | 不支持 | 未知 | 未知 |
移动浏览器兼容性
特性 | Android | Chrome for Android | Edge mobile | Firefox for Android | IE mobile | Opera Android | iOS Safari |
---|---|---|---|---|---|---|---|
基础支持 | 37 | 35 | 未知 | 41 | 未知 | 22 | 10 |
FontFace() 构造函数 | 37 | 35 | 未知 | 41 | 未知 | 22 | 10 |
display | 60 | 60 | 未知 | 不支持 | 未知 | 44 | 不支持 |
family | 37 | 35 | 未知 | 支持 | 未知 | 支持 | 支持 |
featureSettings | 37 | 35 | 未知 | 支持 | 未知 | 支持 | 支持 |
load | 45 37 — 453 | 45 35 — 451 | 未知 | 支持 | 未知 | 支持 | 支持 |
loaded | 45 37 — 453 | 45 35 — 451 | 未知 | 支持 | 未知 | 支持 | 支持 |
status | 37 | 35 | 未知 | 支持 | 未知 | 支持 | 支持 |
stretch | 37 | 35 | 未知 | 支持 | 未知 | 支持 | 支持 |
style | 37 | 35 | 未知 | 支持 | 未知 | 支持 | 支持 |
unicodeRange | 37 | 35 | 未知 | 支持 | 未知 | 支持 | 支持 |
variant | 37 | 35 | 未知 | 支持 | 未知 | 支持 | 支持 |
weight | 37 | 35 | 未知 | 支持 | 未知 | 支持 | 支持 |
在 Worker 中可用 | 69 | 69 | 未知 | 未知 | 未知 | 未知 | 未知 |
1. 在 Chrome 45 之前,返回的 Promise 解析为空,而不是规范要求的 FontFace
对象。
2. 在 Samsung Internet 5.0 之前,返回的 Promise 解析为空,而不是规范要求的 FontFace
对象。
3. 在 WebView 45 之前,返回的 Promise 解析为空,而不是规范要求的 FontFace
对象。