Sass:使用HSLa后备技术

时间:2012-11-16 03:14:16

标签: css3 sass hsl

有没有人知道在SASS编译的样式表中启用HSLa颜色声明的解决方法?

我想使用HSLa,原因是Chris Coyier在article中讨论的原因。 Modernizr Docs中建议的后备技术是首先声明十六进制值,然后是支持浏览器的HSLa值。

然而,Sass目前实现其hsla() instance method的方式使得无法使用这种技术 - 所有HSLa值都被编译为十六进制,这意味着十六进制颜色只会重复。

我尝试将Sass颜色变量定义为字符串,但是它会在样式表中编译成带引号的字符串。

有人建议使用Sass获取HSLa输出吗?

2 个答案:

答案 0 :(得分:3)

您可以将其变为字符串然后取消引用它。这将阻止调用Sass hsla()函数:

.test {
    background-color: #e2ecf0; /* Fallback */
    background-color: unquote("hsla(190, 30%, 94%, 1)"); 
}

生成:

.test {
  background-color: #e2ecf0;
  /* Fallback */
  background-color: hsla(190, 30%, 94%, 1);
}

答案 1 :(得分:1)

您还可以使用插值(#{})和引号:

.test {
    background-color: #e2ecf0; // Fallback
    background-color: #{"hsla(190, 30%, 94%, 1)"}; 
}