我正在使用规则组合以尽可能跨浏览器兼容的方式实现CSS3 transition
规则:我正在使用transition
,-webkit-transition
,{{ 1}}和-moz-transition
。
对于任何版本的Internet Explorer,是否都有类似的-o-transition
属性?是否有旧版IE的专有过滤器,类似于IE 6-8中以下规则如何适用于不透明度?
-ms-transition
答案 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/ (断开的链接)