这就是我已经拥有的:
.coloring(@color){
color:@color;
}
Run Code Online (Sandbox Code Playgroud)
但这就是我真正想要做的事情:
.coloring(@color, @important:''){
color:@color @important;
//etc
}
Run Code Online (Sandbox Code Playgroud)
所以我可以打电话:
.coloring(@color, !important);
Run Code Online (Sandbox Code Playgroud)
但是我收到错误消息"ParseError:Unrecognized input"
有没有办法告诉这个mixin optoinally使用"!important"的CSS语句?
sev*_*max 15
请参阅!important关键字.例如,可以使用.coloring(red) !important;w/o mixin更改.或者使用转义为修改的mixin,因为!mixin参数值中不允许使用符号(即.coloring(red, ~'!important');).
还要注意的是默认值''的@important参数是不正确的,因为使用此参数省略混入调用将导致无效的color: color '';CSS(使用@important...或者@important: ~''如果你需要一个"空"的默认值).
PS也不要错过你可以提供颜色和!important值作为单个参数,.coloring(red ~'!important');也就是调用你原来的1参数mixin的正确方法(如果你只需要color属性让!important修饰符与适用于所有CSS的.coloring(red) !important;语法相反)!importantmixin中的属性).