使用百分比 '%' 作为 SASS 函数的参数

Use percent '%' as an argument of SASS function

我需要传递 '%' unit 符号作为我的 mixin 的参数。虽然传递 'px'/'vh' 等没有问题,但编译器拒绝使用百分号。

px没有问题。

如果我想在函数调用后添加百分号,也会出现同样的问题。

这看起来很奇怪,因为它与其他单位完美配合。

有没有办法在不修改函数输出的情况下使用百分号?

在这两种情况下,您都可以使用插值法。

width: nth($params, $i)#{'%'};

and

@include scrollable-table-by-every-column-width(#{'%'}, auto, 15, 10, 20, 20, 15, 15, 5);

UPD

在函数调用后需要百分比的情况下,您也可以使用 percentage 函数。但是你需要记住这个函数确实是 num * 100。所以在这种情况下

width: nth($params, $i) +%;

您接下来可以做:

percentage(nth($params, $i) / 100) //assuming you passed already calculated percents (not 0.2, 0.3.., but 20, 30...)

但是当您想将百分号作为参数传递时,这并不能解决问题。