摘要:瀏覽器的整體渲染過(guò)程構(gòu)建當(dāng)拿到一個(gè)文件,它是如何構(gòu)建出樹的呢瀏覽器會(huì)根據(jù)尖括號(hào)識(shí)別出標(biāo)簽,每一個(gè)標(biāo)簽都有和,其中的文本也會(huì)被解析出來(lái)這些開(kāi)始結(jié)束將會(huì)以棧的方式,進(jìn)行規(guī)則匹配,構(gòu)建出間的層級(jí)關(guān)系。
瀏覽器的整體渲染過(guò)程 構(gòu)建DOM 當(dāng)拿到一個(gè)html文件,它是如何構(gòu)建出dom樹的呢?
瀏覽器會(huì)根據(jù)尖括號(hào)識(shí)別出標(biāo)簽,每一個(gè)標(biāo)簽都有StartTag和EndTag,其中的文本也會(huì)被解析出來(lái)
這些開(kāi)始結(jié)束Tokens將會(huì)以棧的方式,進(jìn)行規(guī)則匹配,構(gòu)建出Nodes間的層級(jí)關(guān)系。
屬性也會(huì)被解析出來(lái)
當(dāng)你訪問(wèn)一個(gè)網(wǎng)站的時(shí)候,你會(huì)發(fā)現(xiàn)頁(yè)面有時(shí)不是一下子被渲染出來(lái)的, 當(dāng)拿到一段html的時(shí)候,這段html便開(kāi)始構(gòu)建dom,下一段html可能還在網(wǎng)絡(luò)中穿梭,dom的這種即使構(gòu)建的機(jī)智,給我們帶來(lái)了很好的用戶體驗(yàn)
同html,css文件也會(huì)被解析成文檔模型,它有自己的一套規(guī)則,另外,他內(nèi)部還有繼承機(jī)制,這里暫跳過(guò)細(xì)節(jié)
css是不是和html一樣,也是從網(wǎng)絡(luò)中獲取一點(diǎn)就解析一點(diǎn)呢?不是的,css中對(duì)于同一個(gè)元素的同一個(gè)樣式,如果選擇器權(quán)重相同,后面的樣式會(huì)覆蓋前面的樣式,如果是取到一點(diǎn)就解析一點(diǎn),如果前面的資源加載慢,頁(yè)面就會(huì)以錯(cuò)亂的樣式來(lái)渲染,所以,css是阻塞的。
構(gòu)建Render TreeRender Tree 其實(shí)就是DOM 和 CSSOM 的綜合,不過(guò),display為none的節(jié)點(diǎn)不會(huì)出現(xiàn)在渲染樹中:
布局就是根據(jù)Render Tree中的樣式規(guī)則,計(jì)算出每一塊的實(shí)際寬高色值等樣式。
舉個(gè)栗子:
將Layout翻譯成像素點(diǎn)
參考:優(yōu)達(dá)的網(wǎng)站性能優(yōu)化
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://specialneedsforspecialkids.com/yun/50557.html
摘要:當(dāng)解析被阻止時(shí),這里,和會(huì)同時(shí)下載,所以關(guān)鍵路徑長(zhǎng)度仍為如何縮短關(guān)鍵呈現(xiàn)路徑長(zhǎng)度瀏覽器會(huì)有并行加載資源數(shù)的限制,如果網(wǎng)頁(yè)很大,會(huì)需要來(lái)回多次獲取資源。所以要根據(jù)情況合理控制文件資源大小參考優(yōu)達(dá)的網(wǎng)站性能優(yōu)化 回顧 關(guān)鍵渲染路徑 showImg(https://segmentfault.com/img/bVKDWG?w=319&h=599); 簡(jiǎn)說(shuō)瀏覽器渲染--關(guān)鍵渲染路徑 渲染性能優(yōu)化...
摘要:當(dāng)解析被阻止時(shí),這里,和會(huì)同時(shí)下載,所以關(guān)鍵路徑長(zhǎng)度仍為如何縮短關(guān)鍵呈現(xiàn)路徑長(zhǎng)度瀏覽器會(huì)有并行加載資源數(shù)的限制,如果網(wǎng)頁(yè)很大,會(huì)需要來(lái)回多次獲取資源。所以要根據(jù)情況合理控制文件資源大小參考優(yōu)達(dá)的網(wǎng)站性能優(yōu)化 回顧 關(guān)鍵渲染路徑 showImg(https://segmentfault.com/img/bVKDWG?w=319&h=599); 簡(jiǎn)說(shuō)瀏覽器渲染--關(guān)鍵渲染路徑 渲染性能優(yōu)化...
摘要:當(dāng)解析被阻止時(shí),這里,和會(huì)同時(shí)下載,所以關(guān)鍵路徑長(zhǎng)度仍為如何縮短關(guān)鍵呈現(xiàn)路徑長(zhǎng)度瀏覽器會(huì)有并行加載資源數(shù)的限制,如果網(wǎng)頁(yè)很大,會(huì)需要來(lái)回多次獲取資源。所以要根據(jù)情況合理控制文件資源大小參考優(yōu)達(dá)的網(wǎng)站性能優(yōu)化 回顧 關(guān)鍵渲染路徑 showImg(https://segmentfault.com/img/bVKDWG?w=319&h=599); 簡(jiǎn)說(shuō)瀏覽器渲染--關(guān)鍵渲染路徑 渲染性能優(yōu)化...
摘要:瀏覽器的整體渲染過(guò)程構(gòu)建當(dāng)拿到一個(gè)文件,它是如何構(gòu)建出樹的呢瀏覽器會(huì)根據(jù)尖括號(hào)識(shí)別出標(biāo)簽,每一個(gè)標(biāo)簽都有和,其中的文本也會(huì)被解析出來(lái)這些開(kāi)始結(jié)束將會(huì)以棧的方式,進(jìn)行規(guī)則匹配,構(gòu)建出間的層級(jí)關(guān)系。 瀏覽器的整體渲染過(guò)程 showImg(https://segmentfault.com/img/bVKDWG?w=319&h=599); 構(gòu)建DOM 當(dāng)拿到一個(gè)html文件,它是如何構(gòu)建出do...
摘要:瀏覽器的整體渲染過(guò)程構(gòu)建當(dāng)拿到一個(gè)文件,它是如何構(gòu)建出樹的呢瀏覽器會(huì)根據(jù)尖括號(hào)識(shí)別出標(biāo)簽,每一個(gè)標(biāo)簽都有和,其中的文本也會(huì)被解析出來(lái)這些開(kāi)始結(jié)束將會(huì)以棧的方式,進(jìn)行規(guī)則匹配,構(gòu)建出間的層級(jí)關(guān)系。 瀏覽器的整體渲染過(guò)程 showImg(https://segmentfault.com/img/bVKDWG?w=319&h=599); 構(gòu)建DOM 當(dāng)拿到一個(gè)html文件,它是如何構(gòu)建出do...
閱讀 3196·2021-11-18 10:02
閱讀 1446·2021-10-12 10:08
閱讀 1239·2021-10-11 10:58
閱讀 1269·2021-10-11 10:57
閱讀 1167·2021-10-08 10:04
閱讀 2121·2021-09-29 09:35
閱讀 773·2021-09-22 15:44
閱讀 1269·2021-09-03 10:30