【问题标题】:CSS with IE - is the -ms-filter required or not?带有 IE 的 CSS - 是否需要 -ms-filter?
【发布时间】:2011-07-12 11:03:51
【问题描述】:

我一直在了解 IE 对阴影、渐变等的相当可笑的要求,在这一点上我遇到了一些矛盾:

许多网站建议渐变/阴影组合需要以下几行:

filter: progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#F8F8F8') progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=170, Color='#C6C6C6');
-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorStr='#FFFFFF', EndColorStr='#F8F8F8') progid:DXImageTransform.Microsoft.Shadow(Strength=2, Direction=170, Color='#C6C6C6')"; }

CSS3Please.com 建议只有第一个过滤器是完全符合 IE 5.5-9 所必需的,即 -ms-filter 根本没有用。是否需要 -ms-filter 还是 IE 开发中的临时案例?

【问题讨论】:

  • 为什么人们还在使用这个属性?你知道它只适用于 IE 吗?加上 CSS3 添加了自己的创建渐变背景的方式...
  • @animuson:因为 IE 不支持 CSS3 渐变...?
  • 你的意思是什么?我从来都不是这些不存在的愚蠢属性的支持者。我也不是文本背后渐变背景的支持者。
  • @animuson 我相信问题中隐含了原因 - 如果 IE 只是响应 box-shadow: #AAA 0px 1px 2px 0px; ,世界上会有很多更快乐的开发人员。 :)
  • @animuson:我的意思是,不幸的是,并不是每个人都按照你的方式思考/工作。

标签: css internet-explorer filter progid


【解决方案1】:

即使我不同意使用它,也可以回答您的问题,不,它不是必需的。 “-ms-”前缀和其他前缀(例如“-moz-”和“-webkit-”)是特定于浏览器的,通常只在浏览器开发新属性时使用。它们将前缀属性保留在浏览器的更高版本中,以便使用前缀属性的网页仍然可以工作,但两种方式的作用完全相同。

附: IE 9 确实支持 CSS3。它与 Windows 7 SP1 一起发布。

【讨论】:

  • 澄清一下,是否没有任何版本的 IE 只响应 -ms-filter 而不是常规过滤器?
  • 5.5 之前的版本可能只响应前缀属性,如果它在此之前存在。但是,根据文档,两者都应该适用于所有版本 5.5 及更高版本。如果您真的认为在 IE5.5 中进行测试对您来说很重要,那么唯一真正了解的方法是在那些旧版本中对其进行测试。就个人而言,我会相信文档。
  • 感谢您的回答 animuson。出于好奇,您能否解释一下为什么您不喜欢使用 filter 属性?您是使用不同的方法来为 IE 设置样式还是不担心 IE 样式?
  • 我不担心 IE 或任何其他不支持属性的浏览器中的样式。就个人而言,我认为前缀属性和特定于浏览器的属性仅用于 beta 测试,不应在实际的实时设计中使用。另外,如上所述,我不喜欢文本后面的渐变背景。
  • @animuson,前缀是在IE 8中引入的。blogs.msdn.com/b/ie/archive/2008/09/08/…
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2013-07-26
  • 1970-01-01
  • 2011-03-30
  • 2012-05-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多