2012-04-25 28 views
5

我需要在带有变量和亮度的较少CSS中使用IE渐变过滤器。这可能吗?LessCSS - 具有变量和亮度的IE渐变过滤器

#whatever { 
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='lighten(@grayColor, 3%)', endColorstr='@greenColor', GradientType=0); 
} 

回答

9

据我所知,你不能混合转义(因为这就是你需要的)和颜色函数(lighen)。所以你需要将startColor值存储在另一个变量中。

@grayColor :#dddddd; 
@greenColor : #ff0000; 
@start : lighten(@grayColor, 3%); 
.css { 
    filter:~"progid:DXImageTransform.Microsoft.gradient(startColorstr='@{start}', endColorstr='@{greenColor}', GradientType=0)"; 
} 
0

您可以将变量插入字符串并在拼接过程中“打印它们”。空字符串需要将字符串作为拼接的rezult。所有变量将被插入字符串

@filterStr: "progid:DXImageTransform.Microsoft.gradient(startColorstr='@{upper}', endColorstr='@{bottom})',GradientType=1)"; 
@emptyStr: ""; 
filter:e(@[email protected]);