css 加载字体 兼容性如下使用方法CSSFontLoadingAPI使用方法
一般来说,开发者对网页字体使用会相对接触比较少一些,使用最多也无非是 font-family ,以及可能会加载几个网络字体。
加载字体可能会遇到些问题,在字体加载完成之前,网页文字会变成空白,直到字体加载完成,字体文件不大还好说,但是文件一大,就要等很久才能显示。
可以使用如下方法来解决
font-display
为了解决这种,CSS Fonts Module Level 3中添加了一个 font-display 属性,这个属性可以让浏览器立即使用备用字体css 加载字体,在web字体加载完成之后立即替换css 加载字体,并重新渲染。
兼容性如下
使用方法
<pre class="corepress-code-pre">`@font-face {
font-family: 'family-name';
src: url('${url}');
font-display: swap;
}`</pre>
CSS Font Loading API
相对的在JavaScript层面上也有对应的字体解决方案,CSS Font Loading API可以监听加载事件,在加载完成后通过替换class也可以达到 font-display: swap的效果。
<pre class="corepress-code-pre">`const font = new window.FontFace('fontFamilyName', 'url(${url})');
document.fonts.add(font);
font.load().then(info => {
document.body.style.fontFamily = 'fontFamilyName';
}).catch(err => {
console.log(err);
});`</pre>
发表评论
热门文章
Spimes主题专为博客、自媒体、资讯类的网站设计....
一款个人简历主题,可以简单搭建一下,具体也比较简单....
仿制主题,Typecho博客主题,昼夜双版设计,可....
用于作品展示、资源下载,行业垂直性网站、个人博客,....
热评文章
最新评论
Z.
11月29日
博主你好,Deng插件,这个点击不进去,提示这个(Warning: require_once(/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php): failed to open stream: No such file or directory in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26
Fatal error: require_once(): Failed opening required '/www/wwwroot/w.zzy2020.com/usr/plugins/Deng/Deng/html/profile.php' (include_path='.:/www/server/php/72/lib/php') in /www/wwwroot/w.zzy2020.com/Fresh/extending.php on line 26)
蔑视的士
4天前
支持