我的一个SCSS包含文件中有类似的内容:
$inputBorderRadius: 0 !default;
.input {
@include border-radius($inputBorderRadius);
}
这很好用;在包含上述代码之前,我可以覆盖$inputBorderRadius
,所有内容都符合我的预期。
我想知道的是,如果(例如)border-radius
为空,是否有办法告诉SASS根本不生成$inputBorderRadius
规则。就我而言,我只是不想生成指定默认值的多余规则,如border-radius: 0
。
我知道@if
指令,但文档说:
请注意,控制指令是一项高级功能,不建议在日常样式的过程中使用。
我是否认为这一切都错了?我对SASS很新,所以我希望这不是一个n00b问题。
答案 0 :(得分:3)
您只想使用null
值代替0
。 Null现在在Sass 3.2中可用,并且当它是唯一值时不输出属性。
您也可以更轻松地接受警告。在正常使用中,您不希望被控制指令带走,但在您需要它们时它们不会伤害任何东西。对于更简单的情况,还有一个有用的if($test, $true, $false)
函数。