如果我用 PHP 编写代码,是否有理由使用 CSS 预处理器而不是 PHP?例如,我可以通过在标头中添加以下内容来在 CSS 文件中使用 PHP:
<link rel="stylesheet" type="text/css" media="all" href="style.php" />
这样我就可以向它传递变量,例如style.php?color=#000
或者我可以使用类似的东西LESS http://lesscss.org/预处理我的CSS。如果我使用 less.js,我不确定如何能够像前面的示例一样传递变量。
现在,我听说 PHP CSS 文件无法缓存,所以我明白为什么这会是一个问题,特别是当 CSS 文件很大时。但我希望能够将变量传递到我的 CSS 表。
有人可以告诉我更多关于为什么我要使用其中一个而不是另一个的信息,和/或如果我使用 less.js 如何将变量传递到我的 .less 文件?
现在,我听说 PHP CSS 文件无法缓存,所以我明白为什么这会是一个问题,特别是当 CSS 文件很大时。
PHP CSS 文件can被缓存,但如果将动态值传递给它们,通常会丢失缓存点。如果您有一个可能随每个请求而变化的动态值,那么缓存就变得毫无意义。
此外,通过 PHP 预处理器推送大量静态 CSS 往往会浪费服务器资源。
更简单的方法通常是使用静态 CSS 文件,并在页面主体中声明所有动态值:
<!-- the static style sheet declares all the static values -->
<link rel="stylesheet" type="text/css" href="static.css">
<!-- now you override all the dynamic values -->
<style>
.classname { color: <?php echo $color; ?> }
</style>
这样,您可以根据需要拥有动态值,但仍然可以避免 PHP 处理大量 CSS 数据。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)