CSS Less -ms-filter mixin

时间:2013-06-26 12:24:02

标签: less mixins

我有以下CSS LESS mixin:

.transparency (@amount, @tranc) {
    background: rgba(red(@amount), green(@amount), blue(@amount), @tranc);
}

以及我使用它的方式是:

.transparency (#FFFFFF, 0.2);

但是我需要在mixin中找到一些包含-ms-filter的方法...但我不确定,我在网上生成器使用它并且它给了我这个结果:

-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#B224417C,endColorstr=#B224417C)"; /* IE8 */ 

我将如何包含此内容?我指的是startColorstr和endColorstr ......

任何帮助非常贬值

1 个答案:

答案 0 :(得分:2)

使用以下内容更新了该功能:

.transparency (@colour, @alpha) {
    @alphaColour: hsla(hue(@colour), saturation(@colour), lightness(@colour), @alpha);
    @ieAlphaColour: argb(@alphaColour);

    background-color: @colour; // Fallback for older browsers
    background-color: @alphaColour; 

    // IE hacks
    zoom: 1; // hasLayout
    background-color: transparent\9;
    -ms-filter:  "progid:DXImageTransform.Microsoft.gradient(startColorstr=@{ieAlphaColour}, endColorstr=@{ieAlphaColour})"; // IE 8+
        filter: ~"progid:DXImageTransform.Microsoft.gradient(startColorstr=@{ieAlphaColour}, endColorstr=@{ieAlphaColour})"; // IE 6 & 7
}