css - 少 CSS : driving includes through parameters

标签 css less

我们有一个基于 LESS 的样式表,我们希望为其生成多种颜色变化。我们已经定义了一个包含颜色变化(现在为 blue.less)的包含文件,并希望生成和使用该包含文件的绿色和红色变化。

我们想要做的是通过命令行以某种方式减少参数化以包含这些特定颜色文件之一。有谁知道如何做到这一点?

最佳答案

将颜色定义放入单独文件中的变量中,例如。 blue.less:

@baseColor: #0000ff;  // blue
@accentColor: #00ffff;  // yellow?

然后创建一个单独的主题文件,例如。 theme.less,您可以在其中定义应如何更改基色以实现您的主题:

@link-color: @baseColor;
@link-hover-color: darken(@link-color, 15%);
@panel-header-highlight-color: darken(@accentColor, 15%);
...

然后在第三个文件中,例如layout.less,你定义

a { 
    color: @link-color;
    &:hover {
        color: @link-hover-color;
    }
}
...

最后,创建你的blue-master.less:

@import "blue.less";
@import "theme.less";
@import "layout.less";

要创建一个 red-master.less,您只需要编写一个颜色文件并更改上面的一行。

可以调用颜色文件color.less,例如有一个 blue/color.less 和一个 red/color.less,并使用 --include-path=.. 参数 lessc 使其根据命令行参数生成不同的文件,但我建议不要这样做(根据我的经验,使用它会变得更加困难)。

关于css - 少 CSS : driving includes through parameters,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22309613/

相关文章:

html - 添加一些样式后背景图像消失

html在同一个浏览器中呈现不同

css - 使用 Pocket Grid 为响应式网格创建 CSS Less Mixin

css - 如何为 Bootstrap 制作响应式(Row Fluid)Mixin

css - 在函数输出之后对元素选择器应用 less 函数

javascript - Sencha 2.0 标题栏与选择所有范围区域重叠

html - 有什么方法可以捆绑 HTML/CSS/IMAGES 吗?

android - 如何在android中设置Layout的最大高度?

CSS 模块如何从另一个文件的选择器级联?

css - Bootstrap 中的渐变混合?