CSS Font Loading API - 提供了用于动态加载字体资源的事件和接口

这是一个实验中的功能
此功能某些浏览器尚在开发中,请参考浏览器兼容性表格以得到在不同浏览器中适合使用的前缀。由于该功能对应的标准文档可能被重新修订,所以在未来版本的浏览器中该功能的语法和行为可能随之改变。

CSS 字体加载 API 提供了用于动态加载字体资源的事件和接口。

注意: Web Workers 中提供了此功能( self.fonts 提供对 FontFaceSet 的访问)。

接口

FontFace

表示一个可用的字体。

FontFaceSet

加载字体并检查其下载状态的接口。

FontFaceSource

一个 mixin,提供所有用于字体相关操作的字体,除非另有定义。它定义了 FontFaceSources.fonts 属性,可用于 DocumentWorkerGlobalScope

FontFaceSetLoadEvent

每当加载 FontFaceSet 时触发。

规范

规范 状态 备注
CSS Font Loading Module Level 3 工作草案 初始定义。

FontFace 接口

桌面浏览器兼容性

特性ChromeEdgeFirefoxInternet ExplorerOperaSafari
基础支持357941 不支持2210
FontFace() 构造函数357941 不支持2210
display607958 不支持4711
family3579 支持 不支持 支持10
featureSettings3579 支持 不支持 支持10
load

45

35 — 451

79 支持 不支持 支持10
loaded

45

35 — 451

79 支持 不支持 支持10
status3579 支持 不支持 支持10
stretch3579 支持 不支持 支持10
style3579 支持 不支持 支持10
unicodeRange3579 支持 不支持 支持10
variant3579 支持 不支持 支持10
weight3579 支持 不支持 支持10
在 Worker 中可用6979 未知 不支持 未知 未知

移动浏览器兼容性

特性AndroidChrome for AndroidEdge mobileFirefox for AndroidIE mobileOpera AndroidiOS Safari
基础支持3735 未知41 未知2210
FontFace() 构造函数3735 未知41 未知2210
display6060 未知 不支持 未知44 不支持
family3735 未知 支持 未知 支持 支持
featureSettings3735 未知 支持 未知 支持 支持
load

45

37 — 453

45

35 — 451

未知 支持 未知 支持 支持
loaded

45

37 — 453

45

35 — 451

未知 支持 未知 支持 支持
status3735 未知 支持 未知 支持 支持
stretch3735 未知 支持 未知 支持 支持
style3735 未知 支持 未知 支持 支持
unicodeRange3735 未知 支持 未知 支持 支持
variant3735 未知 支持 未知 支持 支持
weight3735 未知 支持 未知 支持 支持
在 Worker 中可用6969 未知 未知 未知 未知 未知

1. 在 Chrome 45 之前,返回的 Promise 解析为空,而不是规范要求的 FontFace 对象。

2. 在 Samsung Internet 5.0 之前,返回的 Promise 解析为空,而不是规范要求的 FontFace 对象。

3. 在 WebView 45 之前,返回的 Promise 解析为空,而不是规范要求的 FontFace 对象。