CSS的加載中指的是當一個頁面被瀏覽器加載時,網頁需要首先將所有的HTML和CSS文件下載下來,以便在用戶瀏覽頁面的時候顯示網頁的樣式。如果CSS文件過大或者過多,會導致網頁加載速度變慢,用戶可能會出現長時間的空白等待頁面渲染的現象。這時候你就需要使用加載中的CSS技巧。
加載中的CSS,本質上就是對CSS文件的延遲加載或者異步加載,以便在用戶進入頁面后再去下載相關CSS文件,提高網頁加載速度。下面我們就來詳細看一下如何使用加載中的CSS。
//HTML文件 <head> <title>加載中的CSS</title> <link href="/css/style.css" rel="stylesheet"> <script src="/js/criticalcss.js"></script> </head>
在上面的HTML代碼中,我們將一個外部的CSS文件鏈接放到head標簽中,而將criticalcss.js文件鏈接放到了頁面的底部。 criticalcss.js就是加載中的CSS的核心腳本,我們先來看一下criticalcss.js的代碼:
//criticalcss.js文件 (function(){ function downloadJSAtOnload() { var element = document.createElement("script"); element.src = "/css/notcritical.css"; document.body.appendChild(element); } window.onload = downloadJSAtOnload; })();
criticalcss.js的目的是延遲CSS文件的加載,將notcritical.css文件的下載推遲到用戶訪問頁面后再進行。當窗口加載完成后,criticalcss.js會執行downloadJSAtOnload函數,這個函數會動態創建一個script標簽,并將一個不重要的CSS文件的路徑設為標簽的src屬性值。由于不重要的CSS文件可以延遲加載,因此加載不完全不會影響頁面的渲染。如果notcritical.css文件沒有被加載,在頁面渲染完成后也沒有影響。
需要注意的是,如果你的CSS文件很關鍵,比如頁面樣式非常的有特點,那你需要相應地調整criticalcss.js的腳本代碼,確保將最重要的CSS文件下載完成后再渲染頁面。
總之,通過使用加載中的CSS技巧,我們可以大大提高網頁的加載速度,讓用戶的瀏覽體驗更加流暢和愉快。只要我們適時地調整CSS文件的加載順序,提高文件的下載效率,就可以優化網頁的性能和效率。