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博客主题,昼夜双版设计,可....
用于作品展示、资源下载,行业垂直性网站、个人博客,....
尘集杂货铺和官网1t5-cn
11月11日
[已回复]
希望主题和播放器能支持SQLite数据库,AI能多个讯飞星火