目錄
2。使用font-display來更好地渲染控制
3。提供現代格式(Woff2)
4。關鍵語言的子集字體
5。懶負載非關鍵字體
6.主機字體(如果可能的話)
7。利用緩存
首頁 web前端 H5教程 優化網絡上的字體加載和性能

優化網絡上的字體加載和性能

Jul 26, 2025 am 04:17 AM
網頁效能 字体加载

僅使用RER =“ PRELOAD”的1-2個關鍵字體和AS =“ FONT”,TYPE =“ FONT/WOFF2”和CROSSORIGIN加快交付而無需阻止其他資源。 2。使用字體 - 播放:在 @font-face中交換以確保立即可見文本,以防止foit並允許加載後平滑地交換到自定義字體。 3.為現代瀏覽器提供WOFF2格式,因為它的出色壓縮,woff是較舊的瀏覽器的後備,將文件大小降低了30%以上。 4。子集字體僅包含所支持語言的必要字符,可大大減少文件大小,尤其是對於大型或非拉丁蛋白字體。 5。使用字體加載API或JavaScript的懶負載非關鍵字體(例如,用於折疊內容),以避免渲染阻滯並確定核心內容的優先級。 6。如果可能的情況下,自助主機字體可以消除第三方依賴性,改善緩存控制並減少DNS/TCP/TLS開銷,尤其是與HTTP/2或HTTP/3結合使用時。 7。用緩存控制的長期緩存:公共,max-age = 31536000,不可變和版本的文件名,以防止重複訪問時重新下載。 8。將字體重量和样式的數量最小化至2-3個必需方面,使用CSS字體重量模擬丟失的變體並減少請求和帶寬。優化字體加載,通過僅交付需要的內容,在需要立即可讀的內容時,可以通過提供需要的內容來確保快速,美麗的版式。

Web字體可以使站點具有視覺標識,但是如果不仔細處理,它們可能會損害性能 - 實現佈局變化,隱形文本(FOIT)或延遲渲染。優化字體加載可確保您的網站看起來很棒保持速度快。這是正確做的方法。


1。預加載臨界字體

如果您使用自定義字體在折疊上方的標題或正文文本中,請預緊它們以加快交付的速度。

 <link rel =“ preload” as =“ font” href =“ font.woff2” type =“ font/woff2” crossorigin>
  • 使用rel="preload"作為鑰匙字體(例如,主字體或身體字體)。
  • 始終包含as="font"type="font/woff2"以幫助瀏覽器正確確定優先級。
  • 即使是相同的字體,也要添加crossorigin ,這是由於CORS策略而引起的字體預加載。

⚠️不要過度使用預緊力 - 僅將其應用於1-2個關鍵字體。預加載太多塊其他重要資源。


2。使用font-display來更好地渲染控制

@font-face中的font-display描述符控制著加載時字體的渲染方式。使用swap以避免看不見的文本。

 @font-face {
  字體家庭:“ CustomFont”;
  src:url(&#39;font.woff2&#39;)格式(&#39;woff2&#39;);
  字體 - 播放:交換;
}
  • swap :立即顯示後送文本,然後加載時將其交換為自定義字體。防止foit。
  • optional :讓瀏覽器決定是否基於網絡條件使用自定義字體。適合較慢的連接。
  • 除非絕對必要,否則請避免block - 它延遲文本渲染。

swap通常是最佳選擇:用戶立即看到內容,並且在字體到達時設計會精煉。


3。提供現代格式(Woff2)

在可能的情況下始終為WOFF2提供服務 - 它的壓縮和支持所有現代瀏覽器。

 @font-face {
  字體家庭:“ CustomFont”;
  src:url(&#39;font.woff2&#39;)格式(&#39;woff2&#39;),
       url(&#39;font.woff&#39;)格式(&#39;woff&#39;);
  字體 - 播放:交換;
}
  • 與Woff相比,Woff2將文件大小降低了30%。
  • 僅適用於較舊瀏覽器的沃夫作為後備。

使用字體松鼠woff2_compress等工具轉換字體。


4。關鍵語言的子集字體

如果您的網站僅支持英語(或幾種語言),請將您的字體設置為僅包含所需字符。

  • 大大減少字體文件大小。
  • 諸如Google字體之類的工具可讓您請求子集(例如&text=Hello )。
  • 對於自託管字體,請使用諸如pyftsubset之類的工具:
 pyftsubset font.woff2 -text =“ abcdefghijklmnopqrstuvwxyz”  - 輸出= subset.woff2

子集特別有助於大膽的字體或非拉丁腳本腳本等大字體。


5。懶負載非關鍵字體

在初始渲染後,可以加載折疊下面使用的字體(例如,用於博客文章或頁腳)。

使用JavaScript使它們異步加載:

 //加載一頁後加載非關鍵字體
document.fonts.load(“ 16px custyfont-light”)。然後(()=> {
  document.body.body.classlist.add(“ font-loaded”);
});

或使用字體加載API來控制時間。

這樣可以防止字體在頁面加載過程中與核心內容競爭。


6.主機字體(如果可能的話)

第三方字體主機(如Google字體)很方便,但添加DNS,TCP和TLS開銷。

自我託管給你:

  • 更好地控制緩存和交付。
  • 沒有外部依賴。
  • 能夠與其他資產捆綁(如果使用構建過程)。

為了自助式Google字體:

獎勵:與HTTP/2或HTTP/3結合使用,以更快的多路復用輸送。


7。利用緩存

為字體文件設置長緩存標頭(例如,1年):

緩存控制:公共,max-age = 31536000,不變
  • 瀏覽器不會在重複訪問時重新下載字體。
  • 使用版本的文件名(例如, font-v2.woff2 )強制更新。

immutable告訴瀏覽器在高速緩存期間資源不會改變 - 靜態資產很大。


8。減少字體重量和样式的數量

每個字體變化(輕,常規,粗體,斜體)是一個單獨的文件。

而不是加載5個權重,請問:

  • 您是否真的需要輕巧,常規,中等,大膽和外來?
  • CSS font-weight: 500近似介質沒有單獨的文件?

嘗試限制最大2-3個權重。

更少的字體文件=更少的請求更少的帶寬渲染速度。


優化字體加載不是要刪除字體,而是要使它們更聰明。預加載批判性的內容,使用font-display: swap ,服務woff2,子集和自我宿主,如果有意義。結果?美麗的排版而無需犧牲速度。

基本上:加載所需的內容,需要時,並確保用戶可以立即閱讀您的內容。

以上是優化網絡上的字體加載和性能的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

熱門話題

PHP教程
1596
276
CSS文件包含:提高性能的最佳選擇 CSS文件包含:提高性能的最佳選擇 Jun 06, 2025 am 12:03 AM

ThebestpracticesforincludingCSSfilestoboostwebsiteperformanceare:1)ConsolidateCSSfilesintoonetominimizeHTTPrequests,2)UseCSSinliningforcriticalstylestoenhancerenderingspeed,3)ImplementCSSModulesformodularandscopedstyling,4)CustomizeCSSframeworkstored

改變你的網頁效能:Vue Router Lazy-Loading路由技術的突破性進展 改變你的網頁效能:Vue Router Lazy-Loading路由技術的突破性進展 Sep 15, 2023 pm 12:36 PM

改變你的網頁效能:VueRouterLazy-Loading路由技術的突破性進展引言:在當今的網路時代,網頁效能優化被廣泛討論和重視。身為前端開發者,我們經常面臨提高頁面載入速度,降低伺服器負載等挑戰。 VueRouter是Vue.js框架中一個極為重要的插件,它允許我們透過路由配置來建立單一頁面應用(SPA)。而Lazy-Loading(懶載)是Vu

掌握HTML快取機制是提升網頁效能的關鍵 掌握HTML快取機制是提升網頁效能的關鍵 Jan 23, 2024 am 08:27 AM

提升網頁效能的關鍵:掌握HTML快取機制,需要具體程式碼範例在網路時代,我們越來越依賴網路來獲取資訊和完成各種任務。而網頁效能是衡量使用者體驗的重要指標之一。一個載入速度慢的網頁會讓使用者感到不耐煩,甚至離開網頁。因此,提升網頁效能成為了前端開發人員不可忽視的任務。而其中一個提升網頁效能的關鍵是掌握HTML快取機制。 HTML快取機制可以減少對伺服器的訪問,提高

比較重排、重繪和回流的最佳化策略以提高網頁效能 比較重排、重繪和回流的最佳化策略以提高網頁效能 Dec 26, 2023 pm 03:37 PM

優化網頁效能:探討重排、重繪和回流的優劣比較,需要具體程式碼範例隨著網路的發展,網頁效能最佳化已成為每個前端開發人員需要面對的一個重要問題。在優化網頁效能的過程中,我們需要了解並針對不同的操作進行最佳化。其中,重排、重繪和回流是導致網頁效能下降的常見問題,本文將探討它們的優劣,並給出一些具體的程式碼範例。首先,我們需要了解這三個概念的涵義:重排(reflow):當

Web標準對網頁效能和使用者體驗的影響的理解 Web標準對網頁效能和使用者體驗的影響的理解 Jan 13, 2024 pm 01:45 PM

了解Web標準對網頁效能和使用者體驗的影響,需要具體程式碼範例在當今網路發展的時代,網頁效能和使用者體驗變得越來越重要。隨著使用者對網頁載入速度和互動體驗的要求不斷提高,開發人員需要關注並優化網頁效能,以提供更好的使用者體驗。 Web標準是一套約定俗成的規範,用於確保網頁在不同瀏覽器和裝置上的統一性和相容性。熟悉並遵循Web標準的開發實務不僅有助於提高開發效率,也為

優化網絡性能的字體加載 優化網絡性能的字體加載 Jul 18, 2025 am 03:55 AM

網頁加載速度可通過優化字體加載來提升。 1.使用font-display:swap,允許先顯示系統字體再替換自定義字體,避免空白文本;2.通過預加載首屏關鍵字體,縮短加載延遲;3.減少字體變體和格式數量,僅加載必需的字重並優先使用woff2格式;4.針對中文字體過大問題,可按需加載字符集或使用系統字體備選,從而改善首次繪製時間和閱讀體驗。

導航正時API是什麼? 導航正時API是什麼? Jun 22, 2025 am 12:24 AM

導航定時API通過提供精確的頁面加載時間數據來幫助開發者測量網頁性能。它利用JavaScript中的performance對象,記錄從用戶發起導航到頁面完全加載各關鍵階段的時間戳,如DNS查找、服務器響應和頁面交互時間。借助這些時間戳差值,可計算出首字節時間、​​DOM加載時間和完整頁面加載時間等指標。其優勢在於跨瀏覽器標準化、無需額外庫且能捕捉完整加載流程。但需注意舊版瀏覽器支持有限、跨域限制及某些環境下數據可能缺失的問題。

優化網絡上的字體加載和性能 優化網絡上的字體加載和性能 Jul 26, 2025 am 04:17 AM

Preloadonly1–2criticalfontsusingrel="preload"withas="font",type="font/woff2",andcrossorigintospeedupdeliverywithoutblockingotherresources.2.Usefont-display:swapin@font-facetoensuretextisvisibleimmediately,preventingFOITa

See all articles