将.css与.php一起使用内容类型:text / css有什么好处?

时间:2012-09-28 02:50:41

标签: php css

在设置为content-type: text/css的php文件上使用CSS外部样式表有什么好处?如果你把这个标题放在PHP文件的顶部,我觉得你有更多的潜力:

<?php
    header("Content-type: text/css");

    if($query_string = "contact_us") {
        #nav {}
    }
?>

(^这是一个.php文件)。 http://shapeshed.com/using_php_to_enhance_css/

如果没有垮台(我检查了它们是如何在Chrome网络面板中缓存的,我相信它们是相同的),是不是有点像是使用.html还是.php

感谢您的反馈。

5 个答案:

答案 0 :(得分:2)

以下是一些差异:

  • 与提供纯静态CSS相比,PHP将产生额外的CPU /内存开销。可能不是那么多,但仍然是一个考虑因素。显然,你处理的处理越多,交易就越大。
  • 您无法将PHP文件推送到CDN
  • 已经开发了SASS和LESS来处理您可能需要的任何动态功能,因此不太可能需要PHP
  • 听起来你担心提供的CSS超过某些页面所需的CSS。实际上这不是问题,因为浏览器会在第一次下载后缓存CSS。

其他想法:

我编写了一个UI模板引擎,它将JS和CSS代码仅隔离到使用它们的特定视图。如果CSS或JS被多次使用,它将被推送到“厨房接收器级别”并包含在全球范围内。这限制了选择器冲突,并且还最好地平衡了每个请求的HTTP请求数和总下载大小。同时保持相关代码(即按钮事件监听器或页面/元素特定样式)紧密结合,有助于更快速的编程,特别是对于非专家团队/开发人员。

答案 1 :(得分:0)

SASSLESS之类的CSS预处理器之前,这可能会很好。

答案 2 :(得分:0)

动态CSS甚至不如动态JavaScript有用,更不用说动态HTML了。拥有一个包含所有规则的大文件比具有更改规则的文件更有效,因为您可以更容易地将前者缓存在客户端中而不是后者。

答案 3 :(得分:0)

现实情况是,这没有太大的好处......动态CSS没有很多有效的用例,你所描述的那个肯定不是其中之一。如果您只是将所有css合并并缩小为单个文件,它将缓存在客户端上,并且只有在您将其缓存后才能下载。

答案 4 :(得分:0)

在模块化CMS中,这可能很有用。只要您的应用程序生成.php URL,该URL始终为缓存目的生成完全相同的CSS,您就可以大大减少要下载的CSS数量。例如,使用1个主题和5个模块(每个提供CSS)的页面可以返回该组合的CSS,而不是1个主题和50个模块的CSS。这可能是50KB的CSS和500KB之间的差异 - 这对于较慢的连接来说是一个巨大的节省。

如果您的网站是手工制作的,就像提前知道具有特定目标的网站一样,那么其他人已经回答的确没有充分理由这样做。