gpt4 book ai didi

php - CSS 预处理器还是 PHP?

转载 作者:可可西里 更新时间:2023-11-01 13:51:03 25 4
gpt4 key购买 nike

如果我用 PHP 编写代码,我为什么要使用 CSS 预处理器而不是 PHP?例如,我可以在我的 CSS 文件中使用 PHP,方法是在我的标题中包含以下内容:

<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 文件?

最佳答案

Now, I've heard that PHP CSS files can't be cached so I can see why that would be a problem, especially if the CSS file was large.

PHP CSS 文件可以被缓存,但是如果您向它们传递动态值,缓存点通常会丢失。如果您有一个可能随每个请求而变化的动态值,那么缓存就变得毫无意义。

此外,通过 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 数据。

关于php - CSS 预处理器还是 PHP?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9055623/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com