0

希望我设法诱使您使用 BSOD 标题 =)

我使用了一个线性梯度混合,它的语法是这样的:

+linear-gradient(top, #ffffff, #f7f7f7)

预编译后在 IE 中生成

progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff", endColorstr="#f7f7f7",GradientType=0 ) 

这会在 IE 8/9 中生成一个丑陋的蓝黑条,因为 IE 拒绝采用 3-char 十六进制代码

(嘿伙计,白色和#ffffff 很好,不要问我为什么。蓝色/黑色条来自 IE 的默认设置,如果它无法识别语法,则使用蓝色/黑色作为颜色)。

我的问题是,如何rake assets:precompile不压缩字符颜色代码?我希望在编译时尽可能地缩小,但不插入我的颜色代码。

4

1 回答 1

0

SASS 有一个内置函数,称为ie-hex-str.

以我的例子为例:

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr="#{ie-hex-str(nth($full, 1))}", endColorstr="#{ie-hex-str(nth($full, 2))}",GradientType=0 );

我认为一般问题是 IE 8/9 不接受任何需要 alpha 通道的短十六进制,任何与不透明度有关的东西。相反,您可以为其指定一个 8 字符的十六进制代码。

于 2012-10-08T10:03:37.340 回答