【发布时间】:2012-01-29 18:32:52
【问题描述】:
如果我使用 PHP 编写代码,是否有理由使用 CSS 预处理器而不是 PHP?例如,我可以通过在我的标题中使用 PHP 在我的 CSS 文件中:
<link rel="stylesheet" type="text/css" media="all" href="style.php" />
这样我就可以传递变量像style.php?color=#000
或者我可以使用 LESS 之类的东西来预处理我的 CSS。如果我使用 less.js,我不确定如何像前面的示例那样传递变量。
现在,我听说 PHP CSS 文件无法缓存,所以我知道为什么会出现问题,尤其是在 CSS 文件很大的情况下。但我希望能够将变量传递给我的 CSS 表。
谁能告诉我更多关于为什么我会使用一个而不是另一个,和/或如果我使用 less.js,我将如何将变量传递给我的 .less 文件?
【问题讨论】:
-
您可以使用LESS PHP 编译器,它允许处理CSS 字符串或整个文件。
-
我推荐 Stylus 而不是 LESS。您可以通过使用预处理器的“include-this-other-file”功能来“传递变量”,以包含一个设置“变量”的 PHP 文件,但这就像您所说的那样会破坏缓存。您可能希望通过 Javascript 设置“变量”以对 CSS 产生效果,而不是在 CSS 本身中设置。
-
PHP CSS 可以被缓存,您需要设置适当的标题和/或使用基于文件的缓存。
标签: php css performance less