less - 仅使用 less 样式表的一部分

标签 less

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

巨大的样式表.less:

/*

blah blah blah for dozens of styles

*/
.loopy {
    color: greenyellow
}

tiny-stylesheet.less:

.froopy {
    .loopy
}

我是否可以对其进行设置,以便在编译时,tiny-stylesheet.css 定义了 .froopy 样式,而没有定义巨大-stylesheet.less 中的其他所有内容?

最佳答案

更新答案 LESS 1.5

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

@import (reference) "huge-stylesheet";

这使您可以huge-stylesheet.less使用任何和所有 LESS,而无需输出任何内容到 tiny-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

并在tiny中使用它,如下所示:

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

或者您可以尝试将代码保留在 huge 工作表中,并在 tiny-stylesheet.less 中执行此操作(我还没有玩过导入来知道是否它可以嵌套在一个 block 中):

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

.froopy {
    #yourNameSpace > .loopy;
}

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

关于less - 仅使用 less 样式表的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13771419/

相关文章:

css - ActionView::Template::Error(变量@fontAwesomeEotPath_iefix 未定义)

javascript - 预编译器较少的 Jasny Bootstrap - 无法修改较少的变量

css - 在循环中连接 LESS 中的字符串

html - CSS 实用程序类 - 违反关注点分离

html - 如何创建 css 皮肤(使用扩展)

LESS:高度和宽度占像素的百分比,并将它们相加

css - LessCSS : Nesting functions within concatenated classes

node.js - 使用 gulp/gulp-watch-less 自动编译 bootstrap less 文件不会生成 css

html - 如何使 3 列嵌套列表只有内部装订线(没有外部边距)?

ruby-on-rails-3 - 无法调用未定义的方法 'charAt' - 仅在服务器上