使用PHP文件扩展名编写动态CSS样式表效率较低吗?

时间:2012-08-05 07:44:50

标签: php html css

我一直在想办法根据网站后端的输入(通过像PHP这样的语言)动态更改样式。通常我的样式表是单独的CSS扩展文件,但这些文件本身不允许使用PHP标记。毕竟,HTML文件中的额外标记比将所有样式放在单独的文件中要多。 HTML <style>标记的使用可能比使用样式表更慢/更低效吗?

2 个答案:

答案 0 :(得分:7)

针对CSS 2.1的W3C建议书包含一个关于Conformance: Requirements and Recommendations的部分,该部分没有引用文件扩展名,但确实声明:

  

3.4 text / css内容类型

     

存在于单独文件中的CSS样式表通过Internet作为一系列字节发送,并附带编码信息。传输结构称为消息实体,由RFC 2045和RFC 2616定义(请参阅[RFC2045][RFC2616])。内容类型为“text / css”的消息实体表示独立的CSS文档。 “text / css”内容类型已由RFC 2318([RFC2318])注册。

因此,如果文件以text/css内容类型提供(并且@Fluffeh's answer中提到的任何缓存问题已得到解决),那么您应该没有问题。在PHP中,可以在发送任何输出之前调用header()来设置内容类型:

<? header('Content-type: text/css'); ?>

答案 1 :(得分:3)

我不太确定你想在CSS里做太多。如果有的话,我建议可能会添加一些额外的类而不是动态地做太多。如果有的话,最好使用PHP来选择要包含的CSS表,但将它们保留为CSS。如果您继续使用相同的文件,用户可以缓存它,它看起来会更快。最好有一个50k的样式表,然后使用ocne然后缓存,而不是每个页面下载10k的样式表。