我想知道是否更好

a)使用外部CSS文件使用 <link> 或者

b)回声/冲洗/直接将CSS打印到 <head>.

就个人而言,我喜欢选项B,因为它允许

  • 删除评论 /缩小
  • 使用位于根目录上方的CSS
  • 压缩多个CSS文件=更少的HTTP请求

在我付诸实践之前,我应该(不)有很大的原因吗?

有帮助吗?

解决方案

选项A将为您提供额外的HTTP请求,但是浏览器将CSS文件保留在缓存中,因此这没什么大不了的。

另一方面,即使选项B可以为您节省HTTP请求,您的HTML页面也将大大更大,并且如果经常发生更改,则浏览器将无法缓存您的HTML页面。因此,您的服务器将必须处理更多数据传输。

对于很少更改内容的页面,请使用选项B。否则,请使用选项A。

其他提示

如果您正在计划一个非常高的人流网站,那么请使用B(如下所述,除非您的HTML几乎永远不会更改,否则这不是一个好主意,例如Google首页)。我个人喜欢A,因为它允许您将样式远离HTML,并允许您使用特定的样式表用于不同的媒体,甚至可以轻松地从一个媒体切换到另一个媒体。此外,它易于维护(使用版本)并扩展。

如果您担心请求,请在图像中工作。您可以在CSS中将所有图像添加为base64,并防止使用该图像的多个请求,也可以使用多个图标的图像平移技术。

您还可以使用脚本或服务器侧编码将CSS离线缩小CSS,并将所有CSS样式表放入一个文件中。

我的5cents。

最好选择(a)用于缓存目的,但不要担心,您也可以获得选项B的好处!只需使用PHP扩展名称CSS文件,然后将其与链接标签一起包含。然后,PHP将在将其发送到浏览器之前将其解析,以便您可以删除注释 /删除该文件或包含服务器上任何地方的CSS文件。至于您的第三点,如果浏览器缓存它,则第一次是2请求,但仅1个请求第二次请求,因此总体上您得到的请求更少。

从长远来看,您会更好地通过文档头部的标签加载外部样式表。这使浏览器加载后可以缓存样式表,并且您无需在每个页面请求上下载它。

如果您担心缩小样式表,可以使用多种工具来完成此操作 - 请参阅 CSS缩影有什么建议吗? 对于很多建议。

简短的答案是您不应该使用方法B。您可以在下面阅读为什么我认为您不应该那样做。

您应该尽可能将主HTML文件的文件大小保留,因为您无法缓存该文件(大多数情况下,由于该文件的动态性质)。

在本地测试时,您不应进行过早优化。但是,当您部署代码时,您应该缩小CSS并将所有文件组合到一个文件中。另外,不要忘记给CSS文件一个未来的到来的截头(缓存非常重要)。

雅虎! 加速您的网站的最佳实践 还为您提供了很多信息(我的很多答案是基于该阅读的)如何加快网站的速度,这是一个很好的阅读。

正确的答案取决于页面的目的以及样式的结构方式。

在网站上,我有几个关键页面,页面速度是关键因素(例如,人们可以下载我们的软件),但我们也想为访问者缓存CACHE CACHE,这些访问者看到多个页面或一页以上或可能会在不久的将来回来。

您也很少只有一个CSS文件,一个常见的设置可能是:CSS重置文件一个模板。需要在Internet Explorer兼容性中缓存IEFIX CSS文件

CSS RESET,TEMPLATE.CSS和IRFIX文件是将其作为将被缓存的单个外部文件缩减的良好候选者。

每页CSS文件是将包含在标签中的良好候选者,因为它不应该重复使用,并且HTTP请求的成本通常高于传输字节的时间成本。

如果您的页面上没有在整个网站上共享特定样式,请嵌入所有内容。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top