国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > CSS > 正文

詳解css加載會造成阻塞嗎

2024-07-11 08:32:10
字體:
來源:轉載
供稿:網友

終于考試完了,今天突然想起來前陣子找實習的時候,今日頭條面試官問我,js執行會阻塞DOM樹的解析和渲染,那么css加載會阻塞DOM樹的解析和渲染嗎?所以,接下來我就來對css加載對DOM樹的解析和渲染做一個測試。

為了完成本次測試,先來科普一下,如何利用chrome來設置下載速度

1、打開chrome控制臺(按下F12),可以看到下圖,重點在我畫紅圈的地方

2、點擊我畫紅圈的地方(No throttling),會看到下圖,我們選擇GPRS這個選項

3、這樣,我們對資源的下載速度上限就會被限制成20kb/s,好,那接下來就進入我們的正題

css加載會阻塞DOM樹的解析渲染嗎?

用代碼說話:

<!DOCTYPE html><html lang="en"> <head> <title>css阻塞</title> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1"> <style> h1 { color: red !important } </style> <script> function h () { console.log(document.querySelectorAll('h1')) } setTimeout(h, 0) </script> <link href="https://cdn.bootcss.com/bootstrap/4.0.0-alpha.6/css/bootstrap.css" rel="stylesheet"> </head> <body> <h1>這是紅色的</h1> </body></html>

假設: css加載會阻塞DOM樹解析和渲染

假設結果: 在bootstrap.css還沒加載完之前,下面的內容不會被解析渲染,那么我們一開始看到的應該是白屏,h1不會顯示出來。并且此時console.log的結果應該是一個空數組。

實際結果:如下圖

css會阻塞DOM樹解析?

由上圖我們可以看到,當css還沒加載完成的時候,h1并沒有顯示,但是此時控制臺輸出如下

可以得知,此時DOM樹至少已經解析完成到了h1那里,而此時css還沒加載完成,也就說明,css并不會阻塞DOM樹的解析。

css加載會阻塞DOM樹渲染?

由上圖,我們也可以看到,當css還沒加載出來的時候,頁面顯示白屏,直到css加載完成之后,紅色字體才顯示出來,也就是說,下面的內容雖然解析了,但是并沒有被渲染出來。所以,css加載會阻塞DOM樹渲染。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 大理市| 甘德县| 威信县| 璧山县| 灵山县| 津市市| 曲松县| 竹山县| 郸城县| 临城县| 峡江县| 贵港市| 和硕县| 雅安市| 钟山县| 防城港市| 拜泉县| 临汾市| 台东市| 三亚市| 平江县| 桐乡市| 疏勒县| 泸溪县| 滦平县| 通江县| 西贡区| 罗田县| 湖州市| 沂水县| 德阳市| 甘泉县| 乌拉特后旗| 易门县| 城固县| 白山市| 定西市| 得荣县| 友谊县| 彭水| 汪清县|