2015-03-02 37 views
6

我为跨浏览器下面的mixin变换:是否有填充工具对CSS变换属性在IE8

.transform (...) { 
    -webkit-transform: @arguments; /* Chrome, Opera 15+, Safari 3.1+ */ 
     -moz-transform: @arguments; /* Firefox 3.5+ */ 
     -ms-transform: @arguments; /* IE 9 */ 
     -o-transform: @arguments; /* Opera 10.5+ */ 
      transform: @arguments; /* Firefox 16+, IE 10+, Opera */ 
} 

.translate(@x:0, @y:0) { 
    .transform(translate(@x, @y)); 
} 

,并将其应用于类似如下:

#main { 
    .translate(280px, 0); 
} 

但它不wotk在IE8 and Opera mini。是否有一些回退,polyfill或任何支持它在这些浏览器?

+0

检查此http://www.useragentman.com/IETransformsTranslator/ – Nooh 2015-03-02 09:03:04

+1

对于IE6 +有'过滤器:progid:DXImageTransform.Microsoft.Matrix'它可以模拟许多css3转换效果。 – pawel 2015-03-02 09:04:39

回答

9

有几个可以使用,从modenizer建议的是:

css sandpapertransformie

虽然我会争辩说,像ie8这样的老式浏览器添加pollyfills会损害已经过去的浏览器的性能,并降低用户体验。另外,如果您将pollyfills添加到移动浏览器,则会增加3g连接中的加载时间,从而可能会导致用户关闭。

+4

您可以检测浏览器是否为IE8,并仅在这种情况下才加载polyfill。你对3G移动网络的争论是没有意义的。 – user2867288 2016-04-07 17:47:13

+0

下面这个答案,我已经用CSS砂纸,并有一个helluva时间调试400个不好的请求 - 事实证明,下面的行'req.setRequestHeader(“If-Modified-Since”,“星期六,2000年1月1日00:00 :00 GMT“);'需要'req.setRequestHeader(”If-Modified-Since“,”星期六,01 Jan 01 00:00:00 GMT“);' - 那么它的工作原理! – 2016-08-25 09:56:59