LessCSS - IE gradient filter with variables and li

2019-02-23 07:59发布

问题:

I need to have an IE gradient filter in Less CSS with a variable and lighten. Is this possible?

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

回答1:

As far as I know you can't mix escaping (because that's what you need here) and colour functions (lighen). So you'll need to store the startColor value in another variable.

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


回答2:

You can insert variables into string and "print them" in process of concatenation.Empty string need for get string as rezult of concatenation. All variables will be insert into string

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