我怎样才能在手写笔中实现单元安全?

时间:2017-10-30 09:04:32

标签: css stylus css-preprocessor

我试图在我的项目中使用一些css预处理器并选择手写笔。今天我发现手写笔编译了这个:

body {
  width: 100% + 50px;
}

对此:

body {
  width: 150%;
}

当两个值都是变量时,这可能会有所不同。例如,如果我在我的规则中有一些表达式:

my-element {
  width: $some-value + $some-other-value + $some-more-value;
}

如果我改变其中一个变量的单位,例如,从像素到persents,那么所有表达式都将被静默打破。因此,如果我想更改单位,我必须在整个项目中查看此变量的所有用法,并检查它是否正常。

有没有办法在手写笔中存档某种单位安全?完美的解决方案是,如果针对这种情况,手写笔将生成calc(100% + 50px),并向控制台发出警告。但即使只是一个警告或错误就足够了。

1 个答案:

答案 0 :(得分:1)

如果您想使用原生CSS计算而不是手写笔版本,可以使用sprintf来实现它。它会像你期望的那样解析不同的单位,不像手写笔通过转换单位来处理数学。例如:

width: 'calc(%s + %s + %s)' % ($some-value $some-other-value $some-more-value)