目录
应该始终让 CSS 优先于 JavaScript 吗?
首页 web前端 css教程 HTML 中 CSS 应该始终位于 JavaScript 之前吗?

HTML 中 CSS 应该始终位于 JavaScript 之前吗?

Nov 24, 2024 pm 07:06 PM

Should CSS Always Precede JavaScript in HTML?

应该始终让 CSS 优先于 JavaScript 吗?

传统观念:

长期以来,一种普遍的建议是将 CSS 放在 JavaScript 之前,理由是:

  • 渲染线程需要呈现页面的所有样式信息。
  • 如果 JavaScript 包含在前面,JavaScript 引擎必须先解析所有内容,然后再继续执行下一组资源。
  • 这意味着渲染线程无法完全显示页面,因为它没有所需的所有样式。

实际测试:

然而,实际测试表明了截然不同的结果:

  • JavaScript 不会开始执行,直到所有 CSS 都下载完毕。
  • 因此,将 JavaScript 包含在前面似乎更有效,因为 JavaScript 线程可以运行更长的时间。

结论:

  • 对于桌面浏览器:在现代浏览器中,将 CSS 放在 JavaScript 之前 不会带来性能提升。在某些情况下,甚至会导致性能下降(例如 CSS 延迟时)。因此,您应该在 JavaScript 之后**链接到外部样式表。
  • 对于移动浏览器:证据表明,一些移动浏览器(例如 Android 版的 WebKit)仍然不会进行预测性解析。在这类浏览器上,将脚本放在 CSS 之前可能会造成性能损失。

技术解释:

静态表单提供商的比较 静态表单提供商的比较 Apr 16, 2025 am 11:20 AM

让我们尝试在这里造成一个术语:“静态表单提供商”。你带上html

使Sass更快的概念证明 使Sass更快的概念证明 Apr 16, 2025 am 10:38 AM

在一个新项目开始时,Sass汇编发生在眼睛的眨眼中。感觉很棒,尤其是当它与browsersync配对时,它重新加载

每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom 每周平台新闻:HTML加载属性,主要的ARIA规格以及从iframe转移到Shadow dom Apr 17, 2025 am 10:55 AM

在本周的平台新闻综述中,Chrome引入了一个用于加载的新属性,Web开发人员的可访问性规范以及BBC Move

带有HTML对话框元素的一些动手 带有HTML对话框元素的一些动手 Apr 16, 2025 am 11:33 AM

这是我第一次查看HTML元素。我已经意识到了一段时间,但是尚未将其旋转。它很酷,

纸张形式 纸张形式 Apr 16, 2025 am 11:24 AM

购买或建造是技术的经典辩论。自己构建东西可能会感觉更便宜,因为您的信用卡账单上没有订单项,但是

'订阅播客”链接应在哪里? '订阅播客”链接应在哪里? Apr 16, 2025 pm 12:04 PM

有一段时间,iTunes是播客中的大狗,因此,如果您将“订阅播客”链接到喜欢:

托管您自己的非JavaScript分析的选项 托管您自己的非JavaScript分析的选项 Apr 15, 2025 am 11:09 AM

有很多分析平台可帮助您跟踪网站上的访问者和使用数据。也许最著名的是Google Analytics(广泛使用)

它全部都在头上:管理带有React头盔的React Power Site的文档头 它全部都在头上:管理带有React头盔的React Power Site的文档头 Apr 15, 2025 am 11:01 AM

文档负责人可能不是网站上最迷人的部分,但是其中所处的内容对于您的网站的成功也一样重要

See all articles