如何为以下状态编写较少的mixin:hover,:active,:disabled?

时间:2015-11-03 10:31:59

标签: less less-mixins

这就是我写它的方式,但我得到了

  

分析错误:无法识别的输入

我该怎样绕过这个?

我不想为焦点,活动和禁用状态声明单独的mixin。

我正在使用WinLess在Windows 7上进行编译。

  • WinLess版本:1.9.1
  • Less.js版本:2.1.2

这是我的代码

.state(@state,@property,@colour){
    &:@{state}{
        @{property}:@colour;
    }
}

感谢任何帮助。

1 个答案:

答案 0 :(得分:4)

最佳解决方案是将Less.js编译器更新到最新版本(v 2.5.3),因为它按原样编译问题中提供的代码,无需任何修改

但是,如果由于某种原因无法升级编译器,那么您需要一个中间变量来形成伪类选择器,然后使用它们,如下面的代码片段所示:

.state(@state,@property,@colour){
  @sel: ~":@{state}";
  &@{sel}{
    @{property}:@colour;
  }
}
#demo{
  .state(hover,color,red);
}