@Import将较少的文件放入有限的范围内

Shr*_*anP 23 css less

我想从另一个较少的文件导入所有样式,但是进入有限的范围.我正在尝试这个:

"我-site.less"

.wrapper-class {
    @import "path/to/styles.less";
}
Run Code Online (Sandbox Code Playgroud)

但这根本不起作用.我正在使用基于浏览器的less.js选项,我可以看到实际执行导入时运行的GET语句.但是生成的CSS不包含其他工作表中的任何样式.如果我这样做,它的工作原理:

.wrapper-class 
{
    /* ... */
}
@import "path/to/styles.less";
Run Code Online (Sandbox Code Playgroud)

但这违背了最初的目的.那么在Less中有没有办法像这样做有限范围的@import?谢谢!

Alb*_*bin 45

由于这个问题已经发布和回答,预处理器已经实现了带有范围的@import.这现在适用于LESS,SASS和Stylus.

例:

.lt-ie9 {
  @import "ie8-fixes";
}
Run Code Online (Sandbox Code Playgroud)

  • LESS没有文档,因为他们认为这是预期的行为.github问题在这里:https://github.com/less/less.js/issues/656 Sass docs:http://sass-lang.com/documentation/file.SASS_REFERENCE.html#nested-import (2认同)

Chr*_*oph 2

根据css-spec@import- 声明必须位于 css 文件中所有其他声明之前。所以你的@import内部规则预计会失败。我想@import文件末尾的 ing 没有失败是浏览器供应商的善意。

我想 LESS 也会遵守同样的规则。

编辑:问题是,为什么你想要这些样式的范围?通过适当的声明,这应该是不必要的。