国产精在线-国产精欧美一区二区三区-国产精视频-国产精品 日韩-一级黄色片在线看-一级黄色片在线播放

網(wǎng)頁中第三方字體加載方案優(yōu)化

?一般來說,開發(fā)者對(duì)網(wǎng)頁字體使用會(huì)相對(duì)接觸比較少一些,使用最多也無非是 font-family ,以及可能會(huì)加載幾個(gè)網(wǎng)絡(luò)字體。

加載字體可能會(huì)遇到些問題,在字體加載完成之前,網(wǎng)頁文字會(huì)變成空白,直到字體加載完成,字體文件不大還好說,但是文件一大,就要等很久才能顯示。

可以使用如下方法來解決

font-display

為了解決這種,CSS Fonts Module Level 3?中添加了一個(gè) font-display 屬性,這個(gè)屬性可以讓瀏覽器立即使用備用字體,在web字體加載完成之后立即替換,并重新渲染。

兼容性如下

使用方法

@font-face {
  font-family: 'family-name';
  src: url('${url}');
  font-display: swap;
}
  • auto:使用瀏覽器默認(rèn)的行為;
  • block:瀏覽器首先使用隱形文字替代頁面上的文字,并等待字體加載完成再顯示;
  • swap:如果設(shè)定的字體還未可用,瀏覽器將首先使用備用字體顯示,當(dāng)設(shè)定的字體加載完成后替換備用字體;
  • fallback:與 swap 屬性值行為上大致相同,但瀏覽器會(huì)給設(shè)定的字體設(shè)定加載的時(shí)間限制,一旦加載所需的時(shí)長大于這個(gè)限制,設(shè)定的字體將不會(huì)替換備用字體進(jìn)行顯示。Webkit 和 Firefox 中設(shè)定此時(shí)間為 3s;
  • optional:使用此屬性值時(shí),如果設(shè)定的字體沒有在限制時(shí)間內(nèi)加載完成,當(dāng)前頁面將會(huì)一直使用備用字體,并且設(shè)定字體繼續(xù)在后臺(tái)進(jìn)行加載,以便下一次瀏覽時(shí)可以直接使用設(shè)定的字體。

CSS Font Loading API

相對(duì)的在JavaScript層面上也有對(duì)應(yīng)的字體解決方案,CSS Font Loading API可以監(jiān)聽加載事件,在加載完成后通過替換class也可以達(dá)到 font-display: swap的效果。

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);
});

 

 

THE END
主站蜘蛛池模板: 99热久久国产精品免费看 | 国产免费观看a大片的网站 国产免费黄色网址 | 国产亚洲精品精品国产亚洲综合 | 亚洲网美女 | 久久国产视屏 | 成人久久18免费网站入口 | 亚洲精品久久久久综合91 | 国产精品国产三级国产an不卡 | 亚洲成人影院在线观看 | 久久经典免费视频 | 成人网18免费视频 | 国产成人午夜福在线观看 | 成人综合在线视频 | 久久久这里只有精品免费 | 国产自在自线午夜精品视频在 | 在线视频一区二区三区四区 | 久久视频6免费观看视频精品 | 手机在线一区二区三区 | 久久精品最新免费国产成人 | 久久免费手机视频 | 男人天堂社区 | 在线观看国产精品入口 | 成年男女男精品免费视频网站 | 91成人免费在线视频 | 亚洲 欧美 精品专区 极品 | 欧美操操操操 | 欧美做a一级视频免费观看 欧美做爱毛片 | 国产大陆亚洲精品国产 | 在线午夜影院 | 欧美视频一区二区专区 | 日韩亚洲一区中文字幕在线 | 亚洲影院在线播放 | 日韩精品一区二区三区视频网 | 中文字幕在线永久 | 国产男女乱淫真视频全程播放 | 女人张开腿让男人捅的视频 | 污美女网站www在线观看 | 亚洲综合在线视频 | 国产三级毛片视频 | 成人精品久久 | 波多野结衣一区二区三区在线观看 |