0
我已經搜索了互聯網並嘗試了多個代碼,但無法找出這一個。希望你能成爲助手。減少後衛不能使用mixin的多個參數
問題:當mixin有多個值時,不會觸發Guard。
Button.less
/* CTA Box */
&ctabox {
.inline-box(@lightergrey);
&__header {
display: inline-block;
margin: 5px 0;
.font(@size: 18px, @weight: 700);
}
&__button {
.button(@style: @orange);
.button-icon-right();
}
}
正如你可以看到我用按鈕()混入,@style:@orange作品,並觸發這個後衛:
.button(@style) when (@style = @orange) {
/* Rendered mixin: Button @style when @orange */
color: #FFF;
&:hover, &:focus {
background: @lightorange;
color: #FFF;
}
}
但是,當我使用這個:
&__button {
.button(@style: @orange, @width: 100%);
.button-icon-right();
}
警衛不再被觸發,儘管按鈕@style仍然是@橙色。 任何人都可以解釋這種行爲?
只是爲了證明,代碼運行沒有任何錯誤從終端。 –
查看[Mixins with Multiple Parameters]的最後一段(http://lesscss.org/features/#mixins-parametric-feature-mixins-with-multiple-parameters)。 –