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

时间:2012-03-08 01:06:02

标签: css sass

我有这样的CSS规则:

background: #fff url('/assets/img/file.png');

正在编译:

background: white url("/assets/img/file.png");

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

1 个答案:

答案 0 :(得分: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) }