2

我终于深入研究 CSS 预处理,并试图找出最佳途径。我的主要问题是:

  1. 使用 SASS 或 LESS 而不是 Php 有什么价值?
  2. 如果我要使用 SASS 或 LESS,整合数据库中的值的最佳方法是什么?

显然使用 php 在标题中打印样式是一个非常糟糕的主意。我正在使用 php 创建样式表,并将其导入为“Content-Type: text/css”。然后它将创建样式表,该样式表将按原样提供并正确缓存。我可以使用数据库中的值并使用我已经熟悉的语言。

在创建/使用样式表方面,SASS 和 LESS 比 Php 有什么优势,如果我使用它们,使用数据库中的值的最佳方法是什么?我是否需要使用 Php 从数据库中获取值,基本上继续我上面的方法,仅用于该用途,然后使用 SASS、LESS 或其他来处理样式表的其余部分?

非常感谢您的帮助!

4

2 回答 2

2

像 SASS 和 LESS 这样的 CSS 预处理器给你的不仅仅是用动态代码提供 PHP(或任何其他服务器端语言)文件,还提供content-type:text/css

他们给你:

  • Mixins——类的类。
  • 参数混合- 您可以向其传递参数的类,如函数。
  • 嵌套规则——类中的类,减少重复代码。
  • 操作——CSS 中的数学。
  • 颜色功能- 编辑您的颜色。
  • 命名空间——可以被引用调用的样式组。
  • 范围- 对样式进行本地更改。
  • JavaScript 评估– 在 CSS 中评估的 JavaScript 表达式。

自己在 PHP 中完成所有这些工作将是一项公平的努力!

关于从数据库中获取数据并在您的 SASS / LESS 中使用它,预处理器不允许您开箱即用。您可以编写自己的 PHP 代码,该代码将从数据库中读取,收集您需要的信息和值,然后使用这些值将 SASS 或 LESS 文件写入文件系统。如果您不需要预处理器提供的上述功能,您也可以编写一个普通的 CSS 文件。

于 2012-08-13T13:46:04.777 回答
0

作为一个经常使用 php 并且已经使用 Sass 几个月的人:

  1. 使用 SASS 或 LESS 而不是 Php 有什么价值?

在这些预处理器中,所有的工作都已经为你完成了。您可以使用自己编写的 php 实现相同的目标,但这会浪费时间。几个月甚至几年的工作、测试和评估已经进入了 Sass 和 Less,仅举两个例子。为什么要复制这项工作?

许多 IDE 已经支持 .scss 文件的语法高亮显示,例如,可以更轻松地阅读和编写代码。

你不需要服务器来运行 Sass 或 Less,这使得它们非常便携。Sass 确实需要 Ruby,但 Less 只需要 javascript,即:它可以在任何地方运行。

使用像 Sass 这样的东西会让你以一种非常结构化的方式思考你的 CSS,并鼓励一些好的习惯。

  1. 如果我要使用 SASS 或 LESS,整合数据库中的值的最佳方法是什么?

我从来没有做过这样的事情,但我可以这样处理它。在数据库中有一个专门用于存储变量的表,从一个 id、一个类名和一个存储为文本字符串的值开始,无论是测量值还是十六进制颜色,无论您需要什么。

每当您向表中添加新定义时,运行一个脚本来更新一个 .scss 文件(如果您使用的是 Sass),称为 db_values.scss 只需在文本中写入列出一大堆变量及其值,在预处理器所需的语法中。

在你的主预处理器文件中,导入这个生成的文件,它不会给你臃肿的样式表,生成的 css 只会使用它需要的变量。

于 2012-08-20T16:35:16.943 回答