嵌入式vs引用的css

时间:2014-04-30 15:17:44

标签: php html css optimization

快速提问 - 我正在编写一个html / php简化框架,以便更轻松地完成常见的html任务。我想简化的一件事是包含正确的css样式表。站点的某些部分可能需要一组特定的样式表才能正确呈现,而某些其他部分可能需要其他样式表。我希望用户能够指定css"依赖关系"对于站点的各个部分,并在存在依赖项时加载正确的样式表。这已经得到了解决,只是实际问题的背景。

所以这是实际的问题:

我只是意识到我也可以获取css文件的文件内容,并将它们直接输出到html文档的head元素中,如下所示:

<style type="text/css">
    ---The concatenated contents of every css file the current page depends on---
</style>

而不是像这样的列表:

<link rel="stylesheet" type="text/css" href="---link to the 1st css dependency---"/>
<link rel="stylesheet" type="text/css" href="---link to the 2nd css dependency---"/>
<link rel="stylesheet" type="text/css" href="---link to the 3rd css dependency---"/>
.
.
.

这是个好主意吗?每种方法的优点是什么?浏览器是否需要为每个包含的文件执行单独的http请求?发送一个包含所有css代码的可能非常大的文件的成本是否超过了它?

感谢您的任何建议!

1 个答案:

答案 0 :(得分:2)

除非另有说明,否则浏览器将选择本地缓存的css文件,而不是从服务器再次加载它。所以大多数时候只会传输html文件。这是我自己更喜欢调用外部css文件而不是将其作为标记元素嵌入的原因之一。

另一个很好的理由是,当您分开文件时,编辑/更新会更容易。

另外,外部文件不再需要将样式从一个文件复制到另一个文件。

最重要的是,大多数时候链接的css文件将是一个更好的选择。