【发布时间】:2016-05-08 08:18:08
【问题描述】:
我有一个应用程序,它有一个页面,用户可以在其中选择两种颜色(原色和次要颜色),然后按一个按钮来应用这些颜色。
按下按钮后,我希望此页面更新 SASS/SCSS 变量的值并编译新样式表。
关于如何实现这一点的任何想法?
【问题讨论】:
-
您能否具体谈谈“在服务器上”。什么语言、操作系统等
我有一个应用程序,它有一个页面,用户可以在其中选择两种颜色(原色和次要颜色),然后按一个按钮来应用这些颜色。
按下按钮后,我希望此页面更新 SASS/SCSS 变量的值并编译新样式表。
关于如何实现这一点的任何想法?
【问题讨论】:
我更喜欢在 html 上使用内联样式,因为这会覆盖任何 css 文件。您可以将值存储在 cookie 中,以便稍后检索它们。当您检查 cookie 并找到它时,您可以再次设置它,这样它就不会过期。存储样式应该没问题。您可以使用https://plugins.jquery.com/cookie/ 来存储和检索cookie。
如果这是针对某种后端 cms 并且您需要永久存储 CSS 文件,您总是可以直接将更改写入自定义 CSS 文件并链接到该文件,这比编译 SASS/SCSS 更好在服务器上。我会在 PHP 中使用 fwrite() 来做类似的事情。
http://php.net/manual/en/function.fwrite.php
如果你真的需要在你的服务器上编译,首先你需要在你的服务器上安装 SASS/SCSS,然后你可以在 PHP 中从exec() 运行它,或者用另一种语言在相同的语言中运行它就像从命令行一样。
【讨论】:
fwrite() 创建一个settings.scss 文件,该文件在您的输出文件顶部导入。然后使用 exec() 函数运行 SCSS。
fwrite() 一个新的 custom.css 文件,并在主要样式之后将其链接到头部。