CSS在IE中是否需要使用-ms-filter?

4

我一直在学习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
3
因为IE不支持CSS3渐变吗? - BoltClock
你的观点是什么?我从来不支持那些不存在的愚蠢属性,也从未支持过文本背后的渐变背景。 - animuson
1
@animuson 我相信原因已经在问题中暗示了 - 如果IE能够响应box-shadow: #AAA 0px 1px 2px 0px;,那么世界上会有更多快乐的开发人员 :) - sscirrus
@animuson:我的意思是,不幸的是,并不是每个人都像你一样思考/工作。 - BoltClock
@animuson 和 @BoltClock:我的网站许多用户将使用 IE 7 和 IE 8。等待所有人都升级到更高版本可能是最好的选择,但对于我的受众来说,要么我的盒子看起来设计精美,要么就不行。 - sscirrus
1个回答

1
回答你的问题,尽管我不赞同它的使用,但是不需要。"-ms-"前缀和其他前缀(如"-moz-"和"-webkit-")是特定于浏览器的,通常只在浏览器开发新属性时使用。他们在后续版本的浏览器中保留了带前缀的属性,以便仍使用带前缀的属性的网页正常工作,但两种方式都会执行相同的操作。
P.S. IE 9支持CSS3。它随Windows 7 SP1一起发布。

2
请澄清一下,是否根本没有IE版本只响应于-ms-filter而不是常规filter? - sscirrus
版本5.5之前的版本可能只能响应已存在的前缀属性。根据文档,无论如何,这两种方式都适用于所有版本5.5及以上。唯一真正了解的方法是在旧版本中进行测试,如果您认为在IE5.5中进行测试非常重要。就个人而言,我会相信文档。 - animuson
谢谢你的回答,animuson。出于好奇,你能否解释一下为什么你不喜欢使用filter属性?你是否使用其他方法来为IE设置样式,或者你不担心IE的样式问题? - sscirrus
我不担心IE或任何其他不支持某个属性的浏览器的样式。就个人而言,我认为前缀属性和特定于浏览器的属性仅用于测试版,并且不应在实际设计中使用。此外,正如我上面所说,我不喜欢文本背后的渐变背景。 - animuson
@animuson,前缀在IE 8中被引入。http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx - Matthew Flaschen

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接