免费在线观看污视频-亚洲精品永久免费-亚洲成a-日韩精品视频免费在线观看-黄色a网站-国产在线视频一区二区三区

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

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

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

可以使用如下方法來解決

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:如果設定的字體還未可用,瀏覽器將首先使用備用字體顯示,當設定的字體加載完成后替換備用字體;
  • fallback:與 swap 屬性值行為上大致相同,但瀏覽器會給設定的字體設定加載的時間限制,一旦加載所需的時長大于這個限制,設定的字體將不會替換備用字體進行顯示。Webkit 和 Firefox 中設定此時間為 3s;
  • optional:使用此屬性值時,如果設定的字體沒有在限制時間內加載完成,當前頁面將會一直使用備用字體,并且設定字體繼續(xù)在后臺進行加載,以便下一次瀏覽時可以直接使用設定的字體。

CSS Font Loading API

相對的在JavaScript層面上也有對應的字體解決方案,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
主站蜘蛛池模板: 欧美最新的精品videoss | 国产精品尹人在线观看免费 | 18视频在线观看 | 亚洲成人免费网址 | 国产盗摄一区二区 | 久久精品免费观看国产软件 | 国产67194 | 一级做a爰片久久毛片美女 一级做a爰片久久毛片免费看 | 美女脱了内裤张开腿让男人桶网站 | 亚洲国产欧美一区二区欧美 | 国产精品视频久久久久久 | 2022免费国产精品福利在线 | 日本大臿亚洲香蕉大片 | 久久久婷 | 日本一级特黄特色大片免费视频 | 性欧美高清久久久久久久 | 狠狠色丁香久久婷婷综合_中 | 乱淫毛片 | 久久国产精品高清一区二区三区 | 久久精品综合国产二区 | 成人影院欧美大片免费看 | 99久久综合狠狠综合久久一区 | 亚洲精品国自产拍在线观看 | 欧美夜夜骑 | 国产成人免费高清视频 | 日韩午夜在线 | 中文字幕一区日韩在线视频 | 亚洲无限看 | 成人手机在线 | 国内xxxx乱子另类 | 一区二区免费看 | 狠狠色丁香婷婷综合久久片 | 一级性片 | 久久精品亚洲精品一区 | www久久com| 手机看片日韩日韩 | 国产年成美女网站视频免费看 | 色拍拍噜噜噜aⅴ在线观看 色青青草原桃花久久综合 色婷婷91 | 性欧洲精品videos' | 天堂免费在线视频 | 成人区视频|