假设我有一个变量:
$var: 5px;
但是在代码中的某个地方,其值已更改为可能的颜色,数字,em,rm等。
有什么功能可以检测出它具有哪种类型的值?
即
@if is-color($var) { //do something }
我知道sass中没有is-color函数,但是还有其他方法可以做到这一点或功能吗?
假设我有一个变量:
$var: 5px;
但是在代码中的某个地方,其值已更改为可能的颜色,数字,em,rm等。
有什么功能可以检测出它具有哪种类型的值?
即
@if is-color($var) { //do something }
我知道sass中没有is-color函数,但是还有其他方法可以做到这一点或功能吗?
为了更清楚一点,这是您可以使用type-of的方法:
@if type-of($my-variable) == string {
/* do something */
}
除了文档中显示的类型之外,如果传递了SASS地图对象,type-of还将返回“地图”:
$font-sizes: (
small: rem-calc(18px),
medium: rem-calc(20px),
large: rem-calc(22px)
);
@if type-of($font-sizes) == map {
/* do map-related thing */
} @else {
/* do other thing */
}
从Sass文档中:
http://sass-lang.com/documentation/Sass/Script/Functions.html#type_of-instance_method
(注意,
-
并且_
是在萨斯功能互换)。