代码之家  ›  专栏  ›  技术社区  ›  SpliFF

如何重置或重写IE CSS筛选器?

  •  89
  • SpliFF  · 技术社区  · 16 年前

    我正在使用prietry ms'filter'属性尝试创建一个与css3文本阴影和方框阴影等效的非丑属性;

    在我遇到这个问题之前,我确实做得很好。当我对另一个DIV中的一个DIV应用一个过滤器时,它也有一个过滤器,过滤器效果最终会被合并到子对象上。

    我无法更好地解释,下面是一个演示: http://cableflow.dev.arc.net.au/test/filters.html

    我试过使用过滤器:无;做重置,但没有快乐。我还尝试了不同的语法变体,例如“-ms filter:'progid:…glow()'”,“filter:progid:…glow()”,“filter:glow()”,等等。

    IE8中的测试

    7 回复  |  直到 12 年前
        1
  •  95
  •   el22or    15 年前

    有布尔属性 启用 ,您可以为其设置 http://msdn.microsoft.com/en-us/library/ms532997%28v=vs.85%29.aspx

    例子:

    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(enabled=false)";
    
        2
  •  20
  •   Pink Duck    14 年前

    -ms筛选器属性是非标准的、浏览器特定的CSS条目,因此要求其参数用引号括起来。所以-ms过滤器:“无”工作正常。

        3
  •  16
  •   browzah    15 年前

    试试这个:

    过滤器:

        4
  •  6
  •   SpliFF    16 年前

    我已经成功地将孩子们定位为绝对或相对的。不过,这似乎没有早点起作用,所以一旦我变得更复杂,它可能会再次破裂。

    我认为,一旦一个父对象应用了一个过滤器,它的所有子对象本质上都会在内部成为DirectX曲面。您仍然可以选择文本,但它会滞后。我认为文本选择是一个黑客,使每个字母单独的表面。这真是一团糟,很长一段时间都无法解释为什么浏览器和过滤器都是如此的笨重。

        5
  •  6
  •   JJJ Sergey    14 年前

    如果你在使用HTML5,你可能想沿着使用的路线走下去。

    <!doctype html>
    <!--[if lt IE 7 ]> <html lang="en" class="ie6 oldie"> <![endif]-->
    <!--[if IE 7 ]>    <html lang="en" class="ie7 oldie"> <![endif]-->
    <!--[if IE 8 ]>    <html lang="en" class="ie8 oldie"> <![endif]-->
    <!--[if IE 9 ]>    <html lang="en" class="ie9"> <![endif]-->
    <!--[if (gt IE 9)|!(IE)]><!-->
    <html lang="en" class="gtie9 modern">
    <!--<![endif]-->
    

    在您的CSS中,使用如下内容:

    .ie9 .element {filter: none; }
    
        6
  •  1
  •   anddoutoi    16 年前

    你试过了吗 enable/disable 过滤器?

        7
  •  0
  •   max    14 年前

    我发现最好的方法是显示:内联块(将空白:nowrap应用于容器)。但在IE7和更低版本上似乎效果不佳