IE Filter for Gradients中的颜色函数

时间:2012-02-24 09:42:31

标签: less

尝试了各种“逃避”功能,但似乎无法实现以下工作......

.background-radial(@colour, @depth: 20%) {
    filter: ~"progid:DXImageTransform.Microsoft.gradient( startColorstr='@{colour}', endColorstr='darken(@{colour},@{depth})',GradientType=1 )"; /* IE6-9 fallback on horizontal gradient */
}

通过

调用
body {
    .background-radial(rgb(225,225,255));
}

呈现为

filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#e1e1e1', endColorstr='darken(#e1e1e1,20)',GradientType=1 );

问题是尝试确保“变暗”(或任何其他颜色函数)在过滤器转义中起作用。我猜我一直在错误地使用转义序列。

1 个答案:

答案 0 :(得分:4)

你可以通过一个额外的变量解决这个问题:

.background-radial(@colour, @depth: 20%) {
    @newColour: darken(@colour, @depth);
    filter: ~"progid:DXImageTransform.Microsoft.gradient( startColorstr='@{colour}', endColorstr='@{newColour})',GradientType=1 )"; /* IE6-9 fallback on horizontal gradient */
}