Skip to content

mixin with IE filter repeating old parameter values #534

@wkeese

Description

@wkeese

Starting in 1.1.5, IE filters clauses work without the %(..., val1, val2) or ~"..." workarounds. Thanks for implementing that (assuming the support was intentional, rather than just a fluke.) There's a bug with variable substitution though, with repeated calls to the same mixin:

.vertical-gradient(@color) {
    background-color: @color; // the base color
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=@color, endColorstr=@color);
}

.rule1 {
    .vertical-gradient(#fff);
}

.rule2 {
    .vertical-gradient(#000);
}

The generated CSS for .rule2 is:

.rule2 {
  background-color: #000000;
  filter: progid:dximagetransform.microsoft.gradient(startColorstr=#ffffff, endColorstr=#ffffff);
}

Note that background-color gets the correct parameter value of #00000, but the filter clause gets the #ffffff parameter value from the previous call to the mixin.

BTW, you should update the website to explain the %() printf type method, and the e() method, and change the example of the ~"...", since it implies that it's needed for filters which is no longer the case.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions