Sass-检查变量具有哪种类型的值

假设我有一个变量:

$var: 5px;

但是在代码中的某个地方,其值已更改为可能的颜色数字emrm等。

有什么功能可以检测出它具有哪种类型的值?

@if is-color($var) { //do something }

我知道sass中没有is-color函数,但是还有其他方法可以做到这一点或功能吗?

樱樱2020/03/24 19:11:45

从Sass文档中:

type_of($ value)

返回值的类型。

例子:

type-of(100px)  => number
type-of(asdf)   => string
type-of("asdf") => string
type-of(true)   => bool
type-of(#fff)   => color
type-of(blue)   => color

http://sass-lang.com/documentation/Sass/Script/Functions.html#type_of-instance_method

(注意,-并且_是在萨斯功能互换)。

十三2020/03/24 19:11:45

为了更清楚一点,这是您可以使用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 */
}