我正在使用 LESS 处理一组按钮,但我遇到了一种似乎找不到解决方案的情况。基本上,我有一个 mixin,我将其应用于.button
具有正常状态和在 mixin 本身中声明的悬停状态的类。
现在,问题是我想添加一个条件,这样我就不会被迫&:hover
在 mixin 中应用声明,所以我尝试为@check
变量设置默认值并when (@check)
在:hover
状态下使用,但这会产生错误。
我已经把它从我原来的块中简化了一点,但基本上这代表了我想要做的,但似乎找不到合适的方法来实现。
._mixin (@color: red, @check: true) {
background: @color;
&:hover() when (@check) { // tried &:hover(@check) when (@check) as well
background: darken(@color, 10%);
}
}
.button {
._mixin(#333);
&.disabled {
._mixin(#333, false);
}
}
如何设置 mixin 以:hover
按需排除状态,例如,当.button.disabled
应用于元素时?