我设置了一个Less项目,其中有三个与我的问题相关的文件。
在控制器文件中,我有一个规则:
.bananas {
.nesting-mixin(@color-list);
}
在变量文件中,我有一个列表:
@color-list : red, blue, green, black;
在mixin文件中,我有两个mixin:
.do-the-mixin(@list) {
color: extract(@list, 1);
&.blue {
color: extract(@list, 2);
}
&.green {
color: extract(@list, 3);
}
}
.nesting-mixin(@list) {
&.colored {
.do-the-mixin(@list);
}
}
当我从控制器文件中调用.nesting-mixin
方法时,输出为:
.bananas.colored {
color: #ff0000;
}
但是当我将嵌套mixin移动到控制器文件中时,我得到:
.bananas.colored {
color: #ff0000;
}
.bananas.colored {
color: #ff0000;
}
.bananas.colored.blue {
color: #0000ff;
}
.bananas.colored.green {
color: #008000;
}
是否有一些我不理解的Less mixin导入或嵌套的方面?第二个输出是我想要的,但我不明白为什么它需要在它所调用的同一个文件中。
感谢阅读。 :)