php - 为什么简单地将 PHP 变量用于动态样式表?

标签 php css sass less

我一直在阅读有关动态样式表的内容,并且偶然发现了几个选项,包括 sass 等。但我的问题是为什么不直接将我的 stylesheet.css 转换为 stylesheet.css.php 并简单地使用 php 变量。然后,我避免了与所有这些其他方法相关的所有依赖性问题。

我这样做是否忽略了一些严重的问题?

最佳答案

存在代码重用的争论:当编写 PHP 代码来生成 CSS 时,您实际上是在复制(某些)诸如 sass 和 less 之类的东西背后的逻辑。既然有广泛使用、经过测试且完整的替代方案可用,您为什么要这样做?

另一件事是性能。标准 CSS 文件由您的 Web 服务器提供,并带有关于浏览器缓存的合理 header 。您的浏览器不会每次都下载相同的 CSS 文件,它只是从浏览器端缓冲区中获取它。默认情况下,PHP 根本不被缓存(您通常不希望它被缓存)。这意味着,默认情况下,您的 PHP 生成的 CSS 不会被缓存,从而给您的服务器带来额外的负载,并为您的客户端带来额外的等待时间。虽然其中一些问题可以解决(包括生成 CSS 的 PHP 代码中合理的 header 输出),但有些问题不能解决(例如,启动 PHP 的 Web 服务器的开销)。

关于php - 为什么简单地将 PHP 变量用于动态样式表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18300412/

相关文章:

php - 表不会自动在 mysql 中使用 TIMESTAMP 创建

javascript - 跨浏览器开发

css - 尽管 CSS 属性相同但外观不同

html - 如何将初始切换条件从白天切换到夜晚?

PHP mysql如何关联三个表显示不同表的输出

php - GD2 扩展是否随 PHP 一起提供?

javascript - 无需 javascript,根据另一个元素的样式更改元素样式

css - 如何使用 SASS 嵌套嵌套媒体查询来使用媒体查询或运算符

php - 将 int(11) 转换为 yyyy-mm-dd 格式

html - 无法将 flexbox child 的宽度设置为 100%