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

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

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

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

可以使用如下方法來解決

font-display

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

兼容性如下

使用方法

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

CSS Font Loading API

相對的在JavaScript層面上也有對應(yīng)的字體解決方案,CSS Font Loading API可以監(jiān)聽加載事件,在加載完成后通過替換class也可以達到 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
主站蜘蛛池模板: www.夜夜骑.com| 成人毛片全部免费观看 | 国产v片成人影院在线观看 国产v片在线播放免费观 | 久久亚洲精品无码观看不卡 | 伊人55影院| 美女一级毛片视频 | 看a网站| 成人影视免费 | 午夜a毛片| 免费国产一区二区在免费观看 | 久久爱噜噜噜噜久久久网 | 加勒比毛片 | 国产一级毛片视频 | 日本www免费 | 亚洲男人的天堂久久无 | 成人免费视频网址 | 欧美精品1 | 成人永久免费视频网站在线观看 | 美女和男人免费网站视频 | 欧美日本一区亚洲欧美一区 | 一区二区国产精品 | 日本欧美在线视频 | 国产精品成人aaaaa网站 | 成年免费在线观看 | 女高中生被cao到哭视频 | 久久在线视频播放 | 久久综合狠狠综合狠狠 | 欧美特黄一区二区三区 | 武松大战潘金莲三级在线 | www日本高清 | 久操免费在线视频 | 91刘亦菲精品福利在线 | 亚洲精品成人7777在线观看 | 精品国产三级 | 亚洲国产高清在线精品一区 | 国产在线观看网址你懂得 | 婷婷的久久五月综合先锋影音 | 亚洲国产毛片 | 国产l精品国产亚洲区久久 国产tv在线 | 亚洲精品午夜在线观看 | 美国一级毛片∞ |