2009-02-16 98 views
9

内部vs外部CSS的优点和缺点,思考速度,请求,缓存等。就个人而言,我不确定动态页面上的内部CSS是否会缓存..?内部vs外部CSS

回答

13

优点内部CSS: - 更快的下载:请记住,将有你有

优点外部CSS每个外部样式表一个额外的HTTP请求: - 这是很常见的网站在所有页面上都有共同的“主题”。您可以在外部文件中包含所有这些常见样式,只需下载一次,即可获得可用于多个页面的所需样式:节省下载时间 - 您还可以缓存外部样式并设置适当的失效日期。

反对内部CSS的一件事是它可以增加html的下载大小。

最好的办法: - 取决于内部+外部样式上样式在差异页面 使用使用混合 - 确保在外部样式设置有效期的设置和缓存。

与缓存结合期满设置的优势: “外观和感觉”的网络应用程序是由管辖下列内容:

  • 您通常希望保持所有页面中相同的“感觉”
  • 内容更容易频繁地改变样式

如果你把样式放在外部CSS文件中,并且设置一个缓存期限为1个月,那么在这段时间内我们所有人ers将有非常低的'开始'延迟,因为只有已更改的内容才会被下载:样式将从您的浏览器缓存中重用。当有人在到期日之后第一次尝试访问您的页面时,浏览器会自动请求刷新。

+0

我对HTML页面缓存的工作原理并不太熟悉..所有页面都非常具有动态性,每次用户访问时都会进行更改。这是否意味着整个页面将被重新加载? – olemarius 2009-02-16 12:39:29

1

不,他们不会。外部CSS可以缓存在多个页面/请求中,而且通常可以使用gzip压缩这些文件。

10

如果页面是可缓存的,则此页面的内部CSS也是可以缓存的(因为它是页面的一部分)。但外部样式表的优点是,它们可以用于多个页面,并且只有在可以缓存时才会请求一次。

因此,您首先有一个额外的请求(外部样式表),但接下来的请求传输的数据较少。

1

使用外部CSS可确保所有页面的外观一致,至少如果您为整个站点使用1个CSS文件。第一页可能会有速度损失,但从此CSS文件被缓存,结果后续页面实际上会加载更快。

我偶尔会使用内部CSS,它非常特定于页面,在别处没有用处。切勿将它们放置在线上;在线CSS非常难以维护。