我知道你可以从上海社会科学院数量带形单位,当你知道前手像这样的单位:
$number: 16px;
$without-unit: 16px / 1px;
@warn $without-unit; // 16
但是,它可能剥去一些单位不知道单位是第一呢?
@function strip-unit($number) {
// magic code here...
}
@warn strip-unit(16px); // 16
我知道你可以从上海社会科学院数量带形单位,当你知道前手像这样的单位:
$number: 16px;
$without-unit: 16px / 1px;
@warn $without-unit; // 16
但是,它可能剥去一些单位不知道单位是第一呢?
@function strip-unit($number) {
// magic code here...
}
@warn strip-unit(16px); // 16
-
更新:您不应该真正需要使用此功能。 萨斯数学有关单位非常聪明,我从来没有见过一个用例中,剥离单位是不是简单地用正确的数学来得到你需要的是更好的选择。 见萨斯问题线程 ,其中这已经详尽的讨论。
这是一个聪明的功能,但如果你觉得自己要使用它,有可能与你的数学问题。 不要依傍这一功能。 解决你的数学代替。
-
您需要通过同一个单元的1分。 如果使用unit()
你会得到一个字符串,而不是一个数字,但如果你用零乘加1,你有你需要的东西:
@function strip-units($number) {
@return $number / ($number * 0 + 1);
}
这样可行。 strip-units(13.48cm)
将返回13.48
。
我想你可以添加自定义的Ruby功能剥离单位(见文档添加自定义功能 )。 这将是这个样子,我觉得(警告,未经测试):
module Sass::Script::Functions
def strip_units(num)
assert_type num, :Number
Sass::Script::Number.new(num.value)
end
end