javascript - 用单个less文件生成多个主题

标签 javascript css less

在 less 文件中,我导入了两个不同的颜色代码变量,截至目前,我在生成其他导入时隐藏了 1 个导入。我想改变这种方法,比如使用 Javascript 进行一次导入并将我的无颜色文件动态传递给 less 文件。 Less for multiple theme

最佳答案

如果您希望使用 Javascript 将变量传递给 less 文件,有两种方法:

  1. 您可以使用 javascript 注入(inject)具有更新的 CSS 变量/属性的 CSS 样式表,或者使用 javascript 直接设置 CSS 变量/属性。
  2. 提供 LESS 样式表并在运行时在用户浏览器中编译它们或使用 less.modifyVars 重新编译它们。启用 Less 变量的运行时修改。当使用新值调用时,Less 文件会在不重新加载的情况下重新编译。

简单的基本用法:

        less.modifyVars({
          '@buttonFace': '#5B83AD',
          '@buttonText': '#D9EEF2'
        });

更多详情:http://lesscss.org/usage/#using-less-in-the-browser-modify-variables

编辑:

如果你需要在 js 中导入你的 less 文件:

import '../less/style.less'

或者,如果你需要在父 less 文件中导入你的 less 文件:

@import "../less/style.less"

使用Mixins有条件的进口

@bt-color-variation: light;

@import "color-variations/@{bt-color-variation}/global";
@import "color-variations/@{bt-color-variation}/variables";

关于javascript - 用单个less文件生成多个主题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55410866/

相关文章:

html - 如何删除导航栏上的最后一个边框?

css - 检查 li 是否有 ul

javascript - 比较两个对象并仅获取更新

javascript - 如何强制 iPad/iPhone safari 使用旧版本的 webkit?

javascript - 改变窗口宽度变化的变量值 jQuery

javascript - 按下后退按钮后,JQuery Mobile 1.4.5 radio 控制组中断

javascript - Express中的错误处理

javascript - 一旦我再添加 1 个变量,函数就会停止工作?基于像素颜色为图像添加边界

css - 在 IntelliJ IDEA Ultimate 版本 14 中配置 LESS 编译器?

css - Sass 有 Compass 而 LESS 没有……LESS 语言不够健壮?