首頁 >web前端 >css教學 >HTML 中 CSS 應該永遠位於 JavaScript 之前嗎?

HTML 中 CSS 應該永遠位於 JavaScript 之前嗎?

Patricia Arquette
Patricia Arquette原創
2024-11-24 19:06:17736瀏覽

Should CSS Always Precede JavaScript in HTML?

應該始終讓 CSS 優先於 JavaScript 嗎?

傳統觀念:

長期以來,一種普遍的建議是將CSS 放在JavaScript 之前,理由是:

  • 渲染執行緒需要呈現頁面的所有樣式資訊。
  • 如果 JavaScript 包含在前面,JavaScript 引擎必須先解析所有內容,然後再繼續執行下一組資源。
  • 這表示渲染線程無法完全顯示頁面,因為它沒有所需的所有樣式。

實際測試:

然而,實際測試顯示了截然不同的結果:

  • JavaScript 不會開始執行,直到所有CSS 都下載完畢。
  • 因此,將 JavaScript 包含在前面似乎更有效,因為 JavaScript 執行緒可以運行更長的時間。

結論:

  • 對於桌面瀏覽器:在現代瀏覽器中,將CSS 放在JavaScript 之前不會帶來效能提升。在某些情況下,甚至會導致效能下降(例如 CSS 延遲時)。因此,您應該在 JavaScript 之後**連結到外部樣式表。
  • 對於行動瀏覽器:證據表明,一些行動瀏覽器(例如​​ Android 版的 WebKit)仍然不會進行預測性解析。在這類瀏覽器上,將腳本放在 CSS 之前可能會造成效能損失。

技術解釋:

  • 歷史悠久的瀏覽器會在遇到<script> 標記時停止解析HTML,下載腳本並執行它。而遇到 <link> 就會在取得 CSS 檔案的同時繼續解析 HTML。 </script>
  • 現代瀏覽器實現了預測性解析,其中瀏覽器會「預測」HTML並提前下載資源,包括腳本。

瀏覽器支援:

  • 大多數現代桌面和行動瀏覽器(約 85%)都支援預測性載入。

注意事項:

  • 如果舊瀏覽器的效能不受關注,則在桌面瀏覽器上將腳本放在CSS 之後是一個明智的選擇。
  • 在行動瀏覽器上,最佳實踐可能仍因裝置和作業系統而異。

以上是HTML 中 CSS 應該永遠位於 JavaScript 之前嗎?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn