JS相關(guān)概念

CSS和JS在網(wǎng)頁中的放置順序是怎樣的?

CSS一般放置在HTML的head標(biāo)簽中,JS一般放置在HTML的最后也就是body標(biāo)簽的末端。

白屏和FOUC

由于JS腳本會(huì)阻塞后面內(nèi)容的呈現(xiàn);腳本會(huì)阻塞其后組件的下載;從而造成:

  • 白屏:
    當(dāng)把JS放置在HTML和CSS前面的時(shí)候,瀏覽器會(huì)馬上請(qǐng)求JS文件并執(zhí)行,同時(shí)停止HTML和CSS的渲染;從而造成白屏現(xiàn)象。
    如果使用@import標(biāo)簽,即使 CSS 放入 link, 并且放在頭部,也可能出現(xiàn)白屏。
  • FOUC:
    FOUC無樣式內(nèi)容閃爍如果把樣式放在底部,對(duì)于IE瀏覽器,在某些場(chǎng)景下(點(diǎn)擊鏈接,輸入U(xiǎn)RL,使用書簽進(jìn)入等),會(huì)出現(xiàn)FOUC現(xiàn)象(逐步加載無樣式的內(nèi)容,等CSS加載后頁面突然展現(xiàn)樣式).對(duì)于Firefox會(huì)一直表現(xiàn)出 FOUC。

網(wǎng)頁的渲染機(jī)制

  1. 解析HTML標(biāo)簽,構(gòu)建DOM樹
  2. 解析CSS標(biāo)簽, 構(gòu)建CSSOM樹
  3. 把DOM和CSSOM組合成 渲染樹(render tree)
  4. 在渲染樹的基礎(chǔ)上進(jìn)行布局, 計(jì)算每個(gè)節(jié)點(diǎn)的幾何結(jié)構(gòu)
  5. 把每個(gè)節(jié)點(diǎn)繪制到屏幕上(painting)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 1. CSS和JS在網(wǎng)頁中的放置順序是怎樣的? css放在head標(biāo)簽內(nèi),防止渲染時(shí)出現(xiàn)白屏 js放在最后body...
    billa_8f6b閱讀 635評(píng)論 0 0
  • 1.CSS和JS在網(wǎng)頁中的放置順序是怎樣的? css放在 標(biāo)簽中間,是為了防止白屏的出現(xiàn) js放在body標(biāo)簽內(nèi)...
    向前沖沖的蝸牛閱讀 277評(píng)論 0 1
  • 1、CSS和JS在網(wǎng)頁中的放置順序是怎樣的? (1)CSS 對(duì)于谷歌瀏覽器和Safari放在head里或body里...
    徐國軍_plus閱讀 548評(píng)論 0 0
  • 1,CSS和JS在網(wǎng)頁中的放置順序是怎樣的? 網(wǎng)站加載的整個(gè)完整過程是:1、首先瀏覽器從服務(wù)器接收到html代碼,...
    進(jìn)擊的前端_風(fēng)笑影閱讀 344評(píng)論 0 0
  • 簡(jiǎn)單介紹JavaScript的發(fā)展歷史 JavaScript因互聯(lián)網(wǎng)而生,回顧它的歷史要從瀏覽器的歷史講起。 19...
    _Dot912閱讀 611評(píng)論 0 3

友情鏈接更多精彩內(nèi)容