基本上,我希望能夠循環創建中斷點,比如說中心塊類。是否可以從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
你介意發送一個例子嗎? –