3

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

4

2 回答 2

9

W3C 的 CSS 2.1 建议包含关于一致性的部分:要求和建议,它没有提及文件扩展名,但确实指出:

3.4 text/css 内容类型

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

因此,只要文件以text/css内容类型提供(并且任何缓存问题都已解决,如@Fluffeh 的回答中所述),您应该没有问题。header()在 PHP 中,可以在发送任何输出之前调用 to 来设置内容类型:

<? header('Content-type: text/css'); ?>
于 2012-08-05T08:32:56.230 回答
4

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

于 2012-08-05T07:58:21.960 回答