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

变量 CSS

APro

2020-03-24

假设我有一个变量:

$var: 5px;

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

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

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

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

第3712篇《Sass-检查变量具有哪种类型的值》来自Winter(https://github.com/aiyld/aiyld.github.io)的站点

2个回答
樱樱 2020.03.24

从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

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

问题类别

JavaScript Ckeditor Python Webpack TypeScript Vue.js React.js ExpressJS KoaJS CSS Node.js HTML Django 单元测试 PHP Asp.net jQuery Bootstrap IOS Android