Html 使用外部CSS样式表是否更有效?

Html 使用外部CSS样式表是否更有效?,html,css,performance,Html,Css,Performance,在我编写的每个网站中,我都使用了一个外部CSS样式表来设置文本样式等等,因为它更易于管理。我已将此脚本包含在我的头标签中,如下所示: <link href = "cssscript.css" rel = "stylesheet"> 然而,我也看到人们通过将所有CSS代码添加到head标记下方的标记中,将HTML代码和CSS全部写入一个脚本中。我想知道使用一种或另一种方法在效率和速度上是否有任何差异。使用外部样式表是否会以任何方式改变网站的加载时间?主要优点是浏览器将缓存CSS文

在我编写的每个网站中,我都使用了一个外部CSS样式表来设置文本样式等等,因为它更易于管理。我已将此脚本包含在我的头标签中,如下所示:

<link href = "cssscript.css" rel = "stylesheet">


然而,我也看到人们通过将所有CSS代码添加到head标记下方的
标记中,将HTML代码和CSS全部写入一个脚本中。我想知道使用一种或另一种方法在效率和速度上是否有任何差异。使用外部样式表是否会以任何方式改变网站的加载时间?

主要优点是浏览器将缓存CSS文件,因此网站页面加载速度更快。使用单独的CSS文件也更好,因为您可以将整个CSS代码放在一个单独的文件中,这有助于正确地专注于您的工作。

如果您的样式较短且不重复使用,最好使用内部CSS,但如果您的CSS较长,则最好使用外部CSS。

请参阅此链接:

外部和内部CSS的比较

这里有一些事情你可能要考虑,然后决定CSS块是否应该进入外部或内部文件:

CSS缓存

外部CSS被缓存(假设您使用的是正确的http过期头)。但是,它使用了浏览器的一些缓存空间。这不是一个很大的问题,但随着移动设备变得越来越突出,这一点值得记住

如果同一用户有许多重复的活动,那么外部CSS文件缓存会给您带来很多好处。使用CSS缓存,样式表被保存或缓存。当用户从网站加载页面时,样式表只需加载第一个(而不是后续)页面

DNS查找和额外的往返行程

外部缓存会导致额外的往返,并可能导致额外的DNS查找。这会在用户端造成一些延迟

CSS抓取和页面呈现

在获取所有外部CSS文件之前,页面呈现将被阻止。太多的外部CSS文件会降低页面渲染速度

我的推荐

如果同一用户没有多次重复访问,那么最好避免使用过多的外部CSS文件。当使用最少的CSS时,最好将它们放在文档内部


这真的没关系,但是随着你的网页变得越来越大,越来越复杂,你会想把这两个页面分开,以便于阅读和展示。它将大大减少HTML文件的大小,并将创建一个美观、易于编辑的CSS文件。事实上,一个单独的文件会比较慢,因为浏览器需要获取一个额外的文件,但时间差可以忽略不计。

这取决于

从技术上讲,加载一个大文件比向服务器执行多个请求以加载脚本/css要快。但是,如果在多个页面上需要脚本,您可能会加快脚本和样式表的缓存速度,而html页面可能不会

换句话说,如果在
标记中有样式和脚本。如果html页面未缓存,则必须多次重新下载它们


如果它们是外部链接,第一次加载将需要一些时间,但是下面的页面加载将很快,因为css和脚本将不会再次下载。

除了上述好处之外,css有一个位置也很好。想象一下,你有一个很大的网站,其中有许多页面都使用相同的css。如果您必须更改css,您可以在外部css文件中执行此操作,所有页面都将受到影响。否则,您必须更改所有页面中的css。

首先,css文件不是脚本,而是样式表。@NirvikBaruah这似乎是一个可以根据事实而不是观点来回答的问题。我不明白为什么它会因为给定的原因而关闭。我想你可能想说的是“使用外部CSS文件”。单独的CSS文件可能会被错误地理解为(多个)CSS文件(如SASS)