2015-03-02 14 views
6

Mam następujący wstawek do cross-browser transform:Czy istnieje polyfill CSS przekształcić obiekt w 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)); 
} 

i stosować go coś jak następuje:

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

Ale to nie wotk w IE8 and Opera mini. Czy jest tam coś w rodzaju "fallback", "polyfill" czy "support" w tych przeglądarkach?

+0

sprawdź ten http://www.useragentman.com/IETransformsTranslator/ – Nooh

+1

Dla IE6 + jest 'filter: progid: DXImageTransform.Microsoft.Matrix' który może symulować wiele efektów transformacji css3. – pawel

Odpowiedz

9

Istnieje niewiele można użyć, ci je z modenizer są:

css sandpaper i transformie.

Twierdzę jednak, że dodanie pollyfills do starszej przeglądarki, jak np. 8, uszkodzi wydajność już istniejącej przeglądarki i obniża wygodę użytkownika. Ponadto, jeśli dodajesz pollyfills do przeglądarek mobilnych, dodajesz do czasów ładowania, które w połączeniu 3g mogą wyłączyć użytkowników.

+4

Możesz wykryć, czy przeglądarka jest IE8 i załadować polyfill tylko w takim przypadku. Argument za sieciami komórkowymi 3g jest dyskusyjny. – user2867288

+0

po tej odpowiedzi poszedłem z papierem ściernym css i miałem czas na debugowanie 400 złych żądań - okazuje się, że następująca linia 'req.setRequestHeader (" If-Modified-Since "," So, 1 Jan 2000 00:00 : 00 GMT ");' musi być 'req.setRequestHeader (" If-Modified-Since "," Sat, 01 stycznia 2000 00:00:00 GMT ");' - to działa! –