【问题标题】:Change SASS or LESS variable value at runtime [closed]在运行时更改 SASS 或 LESS 变量值 [关闭]
【发布时间】:2018-05-03 23:33:14
【问题描述】:

我实际上是在尝试使用 ASP MVC 制作一个 Web 应用程序来支持一些动态颜色设置。例如,管理员可以为特定用户组设置主题颜色。当管理员保存新的颜色代码时,这些新的颜色代码需要保存在 CSS 中。因此,用户登录后,他们将看到基于他们的组的不同颜色。

为此,我正在考虑使用 SASS 或 LESS。如果我可以轻松地将 SASS 或 LESS 中的变量设置为保存操作中的新颜色代码,那会更容易。

所以我的问题是......

  1. 如何从 SASS 或 LESS 文件中检索变量并为变量设置新值?有这方面的图书馆吗?我已经检查了 BundleTransformer 和 dotless。但是我还是不知道这些库是否支持处理变量。

  2. 如果我可以更新 SASS 或 LESS 中的变量,是否会在任何更改时编译? 我可以为客户端缓存的 CSS 做什么?

  3. 如果你们能给我更好的方法或其他方法,我将不胜感激。

谢谢,

【问题讨论】:

    标签: css asp.net-mvc sass less


    【解决方案1】:

    如果您只针对使用现代浏览器的用户,CSS 具有实验性变量支持(请参阅Can I use.. 数据)。这是来自 MDN 的示例:

    :root {
      --main-bg-color: pink;
    }
    
    body {
      background-color: var(--main-bg-color);
    }
    

    如果您采用这种方法,您只需将颜色变量插入到一个简单的样式表中,其余的工作由 CSS 完成:

    <style>
    :root {
      --group-colour: {{ groupColour }}
    }
    </style>
    <link rel="stylesheet" href="/path/to/stylesheet/with/variables.css">
    

    有关 CSS 变量的更多信息,请参阅 MDN 的 CSS var() documentation。

    【讨论】:

    • 谢谢!我不知道 css 支持变量。
    猜你喜欢
    • 1970-01-01
    • 2012-11-07
    • 1970-01-01
    • 1970-01-01
    • 2013-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-03-26
    相关资源
    最近更新 更多