假设我的样式表较少,其中包含很多样式,我想将其他样本复制到新表中,如下所示:
巨大-stylesheet.less :
/*
blah blah blah for dozens of styles
*/
.loopy {
color: greenyellow
}
微小-stylesheet.less :
.froopy {
.loopy
}
我是否可以对其进行设置,以便在编译时,tiny-stylesheet.css 只是定义了.froopy样式,而不是其他所有在huge-stylesheet.less中?
答案 0 :(得分:2)
您现在可以在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代码。