【问题标题】:-ms-filter vs filter What's the difference?-ms-filter 与 filter 有什么区别?
【发布时间】:2011-10-17 13:21:48
【问题描述】:

IE 的filter-ms-filter 属性有什么区别?如果我使用一个,我应该同时使用它们吗?它们是否做同样的事情,但每个都只适用于特定版本的 IE?

【问题讨论】:

    标签: css internet-explorer filter


    【解决方案1】:

    -ms-filter 属性

    设置或检索应用于对象的过滤器或过滤器集合。注意 自 Windows Internet 起 Explorer 9 已弃用此功能。自 Internet Explorer 10 起 此功能已被删除,不应再使用。

    -ms-filter property

    【讨论】:

      【解决方案2】:

      我相信-ms 是一些新的 CSS3 属性的供应商前缀,而 filter 是用于 IE 6-8 的旧属性(我在 IE 6 上可能是错误的,但我确定它用于即 8).以下是有关使用 -ms 的位置的更多信息:http://msdn.microsoft.com/en-us/library/ms531207(VS.85).aspx

      【讨论】:

      • 如果我没记错的话,它们都会支持filter,但可能只有IE 9支持-ms-filter
      • 没有。没有这样的 CSS3 属性称为 filter。
      • 所有现代浏览器都会忽略 filter 属性,因为它是非标准的,不是 CSS3 属性。通过验证器运行它,它将被标记为错误。
      • 好吧,再一次,你应该使用 ms-filter。这是同一件事,但会验证。
      • @Rob 它不会验证,就像任何其他供应商扩展一样。此外,IE7 及更低版本不支持-ms-filter
      【解决方案3】:

      Microsoft 引入了-ms-filter 以使 Internet Explorer 更符合标准(CSS 2.1 要求供应商扩展具有供应商前缀)。由于原始filter 属性的语法不符合CSS 2.1,IE8+ 要求-ms-filter 属性的值用引号引起来。

      filter: alpha(opacity=40);
      -ms-filter: "alpha(opacity=40)";
      

      IE8+ 支持-ms-filter,据我所知,旧版filter 属性是为了在所有版本的 Internet Explorer 中都支持向后兼容。

      相关链接:http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx

      请注意,IE10 中可能会删除对过滤器的支持。

      【讨论】:

      • 很好的解释!谢谢!
      • 我正在使用 IE8 并且过滤器可以工作,但 -ms-filter 不能。有什么想法吗?
      • @xr280xr 确保浏览器使用 IE8 标准模式来呈现网页。
      • 你是对的。我只是要回帖说它在 Quirks 模式下运行,这完全搞砸了。
      猜你喜欢
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 2020-07-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-14
      • 2014-02-05
      相关资源
      最近更新 更多