模仿IE中的CSS3过渡?

时间:2011-07-01 05:59:42

标签: css internet-explorer css3 css-transitions

我正在使用规则组合以尽可能跨浏览器兼容的方式实现CSS3 transition规则:我正在使用transition-webkit-transition,{{ 1}}和-moz-transition

对于任何版本的Internet Explorer,是否都有类似的-o-transition属性?是否有旧版IE的专有过滤器,类似于IE 6-8中以下规则如何适用于不透明度?

-ms-transition

5 个答案:

答案 0 :(得分:12)

旧版IE中没有任何过渡效果。

我知道接触它的唯一方法是使用JQuery的fadeIn()fadeOut()方法,这些方法实际上适用于所有版本的IE。

然而,我应该提醒他们,他们仍然会因IE的臭名昭着的不透明处理而受到谴责。当与IE6-8一起使用时,JQuery的淡入淡出效果会产生一些奇怪的故障,特别是如果你正在淡化包含图形的块。

如果您决定尝试它,代码就变得简单了。只需在标题中包含JQuery,然后:

$('#myelement').fadeIn();

在适当的地方。

有关详细信息,请参阅JQuery FadeIn manual page

当然,这将取代任何CSS过渡效果;这一切都是通过Javascript完成的,你可能需要丢弃你的CSS3过渡,否则它会与JQuery效果冲突。但如果你想让它与IE一起工作,那就是你付出的代价。

正如我所说的,小心毛刺。测试它,看看它是如何找到你的。

这是唯一的方法,所以如果你真的需要IE中的过渡效果,那就是你需要做的,但要准备接受它可能看起来不那么好。

其他Javascript库(如Mootools或Dojo)可能会有类似的效果,您也可以尝试,但我想如果他们确实拥有它,他们会遇到同样的问题。

答案 1 :(得分:5)

我在研究同一个问题时遇到了这个问题:http://www.useragentman.com/blog/csssandpaper-a-css3-javascript-library/

我还找到了一个名为move.js的库,它可以与CSS3过渡一起使用:https://github.com/visionmedia/move.js

希望这有帮助。

答案 2 :(得分:3)

IE10会有CSS3过渡,在此之前你必须使用javascript。

答案 3 :(得分:0)

CSS3转换规则和其他CSS3规则在IE 10中运行良好。不再需要前缀“-ms-”,但仍然可以识别。为确保将来的兼容性,应相应地更新使用Microsoft供应商前缀和转换属性的应用程序。因此,更新您的CSS代码,添加带有规则的行,没有任何前缀。

答案 4 :(得分:0)

用于IE< 10你可以尝试其中任何一个 我没有尝试过,但看起来很有前途 http://www.useragentman.com/blog/csssandpaper-a-css3-javascript-library/ http://addyosmani.com/blog/css3transitions-jquery/ (断开的链接)