首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用过滤器:对于不会影响ie9的ie8?

如何使用过滤器:对于不会影响ie9的ie8?
EN

Stack Overflow用户
提问于 2013-01-06 04:21:54
回答 2查看 505关注 0票数 0

我有一个sass混入,它允许我定义alpha背景。

代码语言:javascript
复制
@mixin background-rgba($r,$g,$b,$a) {

    $color: ie_hex($r,$g,$b,$a);
    $value: unquote("progid:DXImageTransform.Microsoft.gradient(GradientType=0,startColorstr=##{$color},endColorstr=##{$color})");

    //ie
    -ms-filter: $value;
    filter: $value;
    zoom: 1;

    background-color: transparent\9;
  // Good browsers.
    background-color: rgba($r,$g,$b,$a);

这适用于IE 7-8,但过滤规则正在被IE9拾取。我意识到我可以在<head>中使用条件标记,但这并不是我真正需要的。我需要能够在所有地方使用它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-01-07 12:04:28

这就是最终对我起作用的方法,基本上关闭了IE9的过滤器。我对这个解决方案并不满意,但现在只能这样了。

代码语言:javascript
复制
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)" !important; /* ie9 requires quotes */
票数 0
EN

Stack Overflow用户

发布于 2013-01-06 11:11:46

你想要避免在<head>中使用条件标签来给它提供IE特定的CSS (正如我理解你的说法)。除此之外,我还能想到两个想法:

IE9类

不确定你是否也反对using conditional comments to set a class on the html or body tags?或者使用javascript来设置一个类似的类。然后你可以预置混音来生成一个...

代码语言:javascript
复制
.ie9 .yourSelectorUsingtheMixin { filter: none; ms-filter: none; }

..。在主条目之后使用background-rgba混合。

@Media Hack

This post指出了一个针对IE9的黑客攻击,它将@media与真正的黑客策略\0/结合在一起,其形式如下:

代码语言:javascript
复制
@media all and (min-width:0) {
    .yourSelectorUsingtheMixin { 
       filter: none \0/; 
       -ms-filter: none \0/;
    } 
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14176021

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档