如何将 mixin 添加到 Stylus 中的 sprintf 函数?

How to add a mixin to a sprintf function in Stylus?

我想在我的手写笔代码中添加一个 CSS calc() 功能。该函数有多个变量以及其中的一个 mixin,我无法让 mixin 正常工作。 mixin 应该删除我的值内的任何单位:

strip-unit(value)
   value / (value * 0 + 1)

然后我尝试使用 stylus 的 sprintf 函数将 mixin 添加到我的 CSS calc 函数中,如下所示:

font-size "calc(%s + %s * ((50vw - %s) / %s))" % (foo strip-unit(bar - foo) foo2 strip-unit(foo2 - foo))

但是我总是以这样的 CSS 代码结束(单位没有被删除):

font-size: calc(12px + 15px * ((50vw - 320px) / 880px));

mixin stylus 没有使用 strip-unit,而是带有一个可以转换单位的内置函数 unit()。但是,如果您将函数的第二个参数留空,它将删除该单元而不是替换它。所以我需要做的就是:

font-size "calc(%s + %s * ((50vw - %s) / %s))" % (foo unit(bar - foo,'') foo2 unit(foo2 - foo,''))