希望我设法诱使你使用BSOD标题=)
我使用线性渐变mixin,其语法如下:
+linear-gradient(top, #ffffff, #f7f7f7)
在预编译后的IE 中生成此内容
progid:DXImageTransform.Microsoft.gradient(startColorstr="#fff", endColorstr="#f7f7f7",GradientType=0 )
这会在IE 8/9中生成一个丑陋的蓝黑条,因为IE拒绝接受3-char十六进制代码
(嘿,man和#ffffff很好,不要问我为什么。蓝色/黑色条来自IE的默认设置,如果它不能识别语法,则使用蓝色/黑色作为颜色)。
我的问题是,如何在不压缩字符颜色代码的情况下rake assets:precompile
?我想在编译时尽可能多地缩小,但不要插入我的颜色代码。
答案 0 :(得分: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通道的任何东西的短十六进制,与opacity有关。相反,您可以为它指定一个8字符的十六进制代码。