Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/32.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/linux/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Css 如何在LESSCS中主题化_Css_Variables_Themes_Less - Fatal编程技术网

Css 如何在LESSCS中主题化

Css 如何在LESSCS中主题化,css,variables,themes,less,Css,Variables,Themes,Less,由于我正处于开发应用程序的试生产周期,我经常改变视觉效果,以便与客户验证的内容保持一致 保留同一页面的一些视觉效果(称为主题)会很有趣,这样我就可以快速向客户展示它们 我发现的方法是在body上创建一个外观类,通过更改它,我可以相应地更改页面本身 也就是说,我感兴趣的是将全局变量主题化,如下所示: // default appearance @navBarHeight: 50px; .appearanceWhite { @navBarHeight: 130px; } .appearan

由于我正处于开发应用程序的试生产周期,我经常改变视觉效果,以便与客户验证的内容保持一致

保留同一页面的一些视觉效果(称为主题)会很有趣,这样我就可以快速向客户展示它们

我发现的方法是在body上创建一个外观类,通过更改它,我可以相应地更改页面本身

也就是说,我感兴趣的是将全局变量主题化,如下所示:

// default appearance
@navBarHeight: 50px;

.appearanceWhite {
    @navBarHeight: 130px;
}
.appearanceBlack {
    @navBarHeight: 70px;
}
#navBar {
    height: @navBarHeight;

    // appearance handling
    .appearanceBlack & {
        background-color: black;
    }
    .appearanceWhite & {
        background-color: white;
    }
}
通过这种方式,在.less的后面,我提出了如下的类:

// default appearance
@navBarHeight: 50px;

.appearanceWhite {
    @navBarHeight: 130px;
}
.appearanceBlack {
    @navBarHeight: 70px;
}
#navBar {
    height: @navBarHeight;

    // appearance handling
    .appearanceBlack & {
        background-color: black;
    }
    .appearanceWhite & {
        background-color: white;
    }
}
当然,实际情况如果更复杂


是否可以根据外观CSS类定义(或重新定义)更少的变量?

这完全取决于主题之间有多少样式和变量不同,例如(非常)基本的起始点可能类似于:

@themes: blue rgb( 41, 128, 185), marine rgb( 22, 160, 133), green rgb( 39, 174, 96), orange rgb(211, 84, 0), red rgb(192, 57, 43), purple rgb(142, 68, 173); // usage: #navBar { .themed(background-color); } // implementation: @import "for"; .themed(@property) { .for(@themes); .-each(@theme) { @name: extract(@theme, 1); @color: extract(@theme, 2); .theme-@{name} & { @{property}: @color; } } }