html css加载不了_CSS加载会阻塞页面显示?
可能大家都知道,js執行會阻塞DOM樹的解析和渲染,那么css加載會阻塞DOM樹的解析和渲染嗎?接下來,我們就一起來分析一下。
原理解析
那么為什么會出現上面的現象呢?我們從瀏覽器的渲染過程來解析下。
不同的瀏覽器使用的內核不同,所以他們的渲染過程也是不一樣的。目前主要有兩個:
webkit渲染過程
Gecko渲染過程
從上面兩個流程圖我們可以看出來,瀏覽器渲染的流程如下:
從流程我們可以看出來
DOMContentLoaded
對于瀏覽器來說,頁面加載主要有兩個事件,一個是DOMContentLoaded,另一個是onLoad。而onLoad沒什么好說的,就是等待頁面的所有資源都加載完成才會觸發,這些資源包括css、js、圖片視頻等。
而DOMContentLoaded,顧名思義,就是當頁面的內容解析完成后,則觸發該事件。那么,正如我們上面討論過的,css會阻塞Dom渲染和js執行,而js會阻塞Dom解析。那么我們可以做出這樣的假設
我們先對第一種情況做測試:
css阻塞實驗結果如下圖:
從動圖我們可以看出來,css還未加載完,就已經觸發了DOMContentLoaded事件了。因為css后面沒有任何js代碼。
接下來我們對第二種情況做測試,很簡單,就在css后面加一行代碼就行了
css阻塞實驗結果如下圖:
我們可以看到,只有在css加載完成后,才會觸發DOMContentLoaded事件。因此,我們可以得出結論:
總結
由上所述,我們可以得出以下結論:
因此,為了避免讓用戶看到長時間的白屏時間,我們應該盡可能的提高css加載速度,比如可以使用以下幾種方法:
總結
以上是生活随笔為你收集整理的html css加载不了_CSS加载会阻塞页面显示?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: redhat7.1安装mysql_red
- 下一篇: solr 查询字段唯一值_《Solr实战