仅使用较少样式表的一部分

时间:2012-12-07 21:41:15

标签: less

假设我的样式表较少,其中包含很多样式,我想将其他样本复制到新表中,如下所示:

巨大-stylesheet.less

/*

blah blah blah for dozens of styles

*/
.loopy {
    color: greenyellow
}

微小-stylesheet.less

.froopy {
    .loopy
}

我是否可以对其进行设置,以便在编译时,tiny-stylesheet.css 只是定义了.froopy样式,而不是其他所有在huge-stylesheet.less中?

1 个答案:

答案 0 :(得分:2)

更新了LESS 1.5的答案

您现在可以在LESS 1.5中导入文件作为参考。所以

@import (reference) "huge-stylesheet";

这使您可以访问使用 huge-stylesheet.less 中的所有 LESS而无需输出任何 微小-stylesheet.less

然后你应该按照你原先的意图去做:

.froopy {
    .loopy;
}

原始答案

是的,有可能“在编译时,tiny-stylesheet.css只定义了.froopy样式而不是其他所有东西”,使用名称空间。您可能需要在单独的文件中设置命名空间(例如 master.less ),如下所示:

#yourNameSpace() {
    your huge code that was in huge-stylesheet 
}

然后使用另一个文件生成 huge-stylesheet.less ,如下所示:

@import "master"; 
#yourNameSpace; //call the code to produce the huge sheet

并在微小中使用它:

@import "master";
.froopy {
    #yourNameSpace > .loopy;
}

或者您可以尝试将代码保留在巨大表中,并在 tiny-stylesheet.less 中执行此操作(我没有使用导入来了解是否它可以嵌套在一个块中:

#yourNameSpace() {
    @import "huge-stylesheet"; 
}

.froopy {
    #yourNameSpace > .loopy;
}

无论哪种方式,它只会从命名空间中提取代码.loopy tiny LESS文件不会从命名空间代码生成其他最终CSS代码。