2015-03-02 1 views
6

У меня есть следующие Mixin для кросс-браузер преобразования:Есть ли polyfill для 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. Есть ли запасной, полиполный или любой для поддержки в браузерах therese?

+0

проверить это http://www.useragentman.com/IETransformsTranslator/ – Nooh

+1

Для IE6 + есть 'filter: progid: DXImageTransform.Microsoft.Matrix', который может имитировать многие эффекты преобразования css3. – pawel

ответ

9

Есть несколько вы можете использовать, те предложенные из modenizer являются:

css sandpaper и transformie.

Я бы сказал, что добавление pollyfills к более старым браузерам, таким как ie8, повредит производительность уже прошедшего его браузера и снижает пользовательский интерфейс. Кроме того, если вы добавляете pollyfills в мобильные браузеры, вы добавляете время загрузки, которое в 3g-соединении может отключать пользователей.

+4

Вы можете определить, является ли браузер IE8 и загружать полипол в этом случае. Ваш аргумент для мобильных сетей 3g является спорным. – user2867288

+0

, следуя этому ответу, я пошел с наждачной бумагой css и получил время отладки 400 неудачных запросов - получается, что следующая строка 'req.setRequestHeader (« If-Modified-Since »,« Sat, 1 Jan 2000 00:00 : 00 GMT ");' должно быть 'req.setRequestHeader (" If-Modified-Since "," Sat, 01 Jan 2000 00:00:00 GMT ");' - тогда это работает! –