基本上,我希望能够循环创建中断点,比如说中心块类。是否可以从mixin函数参数中混入?
代码:
.centre-block {
margin: 0 auto;
}
@breakpoints: xs 479px, sm 767px, md 991px, lg 1200px;
.make-classes(centre-block, @breakpoints);
.make-classes(@prefix, @list) {
.iter(length(@list));
.iter(@i) when (@i > 0) {
.iter(@i - 1);
@pair: extract(@list, @i);
@key: extract(@pair, 1);
@value: extract(@pair, 2);
@media (max-width: @value) {
[email protected]{prefix}[email protected]{key} {
[email protected]{prefix};
}
}
}
}
从这一点,我希望能够做的就是添加一个类,说centre-block-sm
,当屏幕尺寸768px下.centre
类margin: 0 auto
将被应用。但我希望能够为许多类的类型做到这一点,例如添加一个no-padding-*
班级列表。
除了事实上它不会使用[email protected]{prefix}
,而是完全不能识别它。如果我用.centre-block
代替[email protected]{prefix}
它可以工作。有没有办法解决这个问题,或许是解决问题的另一种方法?
我觉得这种功能是LESS设计的功能,所以我可能完全忽略了这一点。
将'.centre-block'类选择器更改为分离的规则集并将其传递给mixin。您可以在每次调用mixin时传递一个不同的规则集,因此它不是静态的(例如,手动调用'。{{前缀} - @ {key}'选择器中的'.centre-block')。如果你想沿着这条路线前进,我可以发布样本作为答案。据我所知,你目前所尝试的是不可能的。 – Harry
你介意发送一个例子吗? –