我可以关闭SASS RGB - >颜色名称

Dav*_*ein 13 css sass

我有这样的CSS规则:

background: #fff url('/assets/img/file.png');
Run Code Online (Sandbox Code Playgroud)

它正在编译为:

background: white url("/assets/img/file.png");
Run Code Online (Sandbox Code Playgroud)

有没有办法阻止它像那样转换它?我的页面上有JS查找RGB值,我不想在某些hacky函数中将这些字符串转换为RGB.

Ain*_*aer 27

默认情况下,除非您强制使用Sass插入#{}或使用变量,否则Sass不会从其十六进制值转换文字颜色值.

使用插值将返回您感兴趣的值的"to_sass"版本.例如,#{ #fff }将插值为"white".这也发生在变量替换期间:当用作变量时,颜色文字被转换为Color对象,然后将"to_sass"转换为样式表.

此外,您可以指定样式选项compressed,它将返回较少字节长度的版本(即red代替#f00).由于white长度为5个字符且#fff仅为4 个字符,因此您的规则将替换为#fff.

使用变量时无法关闭反向HTML4颜色名称转换.作为解决方法,您可以将颜色变量声明为字符串,然后在unquote()函数样式中使用.

$color: '#fff';
.white { color: unquote($color) }
Run Code Online (Sandbox Code Playgroud)