Sass,IE过滤器和额外的空间添加

时间:2012-10-30 18:25:19

标签: css internet-explorer sass

我为我的Visual Studio(web工作台)添加了Sass插件。这很好,因为一旦我保存.scss文件,就会立即生成css文件。无论如何,我有一个IE'过滤器:'设置,Sass编译器正在增加额外的空间。

我的变量:

$blueColor: 5993D3; 
$lightColor: FFFFFF;

我的混音: (浅色是白色的,在所有调用中都是相同的,这就是它不作为变量传递的原因)

@mixin filterIE($startColor) {
    filter:progid:DXImageTransform.Microsoft.Gradient(GradientType=1,StartColorStr='#FF#{$startColor}', EndColorStr='#00#{$lightColor}');
}

我的收录:

@include filterIE($blueColor);

输出问题。它在其中添加了一个额外的空间(注意StartColorStr中的3个。无论我尝试什么,它都会增加一个空间。我在页面上还有其他几个,它们工作正常。

filter: progid:DXImageTransform.Microsoft.Gradient(GradientType=1, StartColorStr='#FF5993D 3', EndColorStr='#00FFFFFF');

你可以看到lightColor正常工作。空间不足。有什么想法吗?

1 个答案:

答案 0 :(得分:1)

我认为问题在于SASS无法正确理解$blueColor变量的数据类型(它不是十六进制颜色,因为它不以#开头,如果您更改第一个字符字母空格没有出现。)

通过在变量

中添加引号来修复它
$blueColor: "5993D3";

,因为你已经在mixin中使用了插值#{},所以它无论如何都不会出现在输出中。