Transformación CSS3: escala en IE

Me gustaría usar la transformación de propiedad CSS3: scale.

div { transform: scale(0.5,0.5); } 

¿Hay alguna manera de imitar esto en Internet Explorer 8 y menor? Puede ser algo con filter o una solución de Javascript?

He buscado en la web sin ningún resultado.

Muchas gracias, Vincent

IE9 admite la transformación:

 -ms-transform: scale(0.5,0.5); 

Para otras versiones de IE, hay una syntax compleja. Algo como esto:

 filter: progid:DXImageTransform.Microsoft.Matrix(sizingMethod='auto expand', M11=1.5320888862379554, M12=-1.2855752193730787, M21=1.2855752193730796, M22=1.5320888862379558); 

Mire aquí para más información.

No, IE8 y versiones anteriores no son compatibles con el estilo de transform estándar. IE9 sí lo admite.

Hay soluciones que podría probar usando el estilo de filter , pero serán desordenadas.

Pero para el caso simple que está describiendo en la pregunta (básicamente, una reducción de escala simple), podría usar la propiedad de zoom propiedad de IE.

Como no es estándar, el uso más común del zoom es con el zoom:1 , que se usa para corregir una serie de fallos de diseño de IE (en particular en IE6 e IE7). Pero también hace zoom real, y puede usar el zoom:0.5 para lograr el efecto que está buscando.

Lo bueno de usar el zoom es que funciona en IE como cualquier otra propiedad de CSS normal (la alternativa de filter tiene algunos caprichos de renderización serios que debes conocer).

El único inconveniente de usar el zoom es que necesitarás deshabilitarlo en IE9 o posterior, de lo contrario interrelacionará tu estilo de transform y tendrá algunos efectos no deseados. No soy de los que generalmente apoyan el uso de hacks CSS, pero podrías usar el /9 hack ( documentado aquí ) para que solo afecte IE8 y versiones anteriores, lo que significa que puedes especificar tanto la transform como el zoom en la misma hoja de estilo. al igual que:

 div { transform: scale(0.5,0.5); zoom: 0.5\9; } 

De lo contrario, necesitaría usar comentarios condicionales para determinar si usarlo.

Obviamente, si quieres hacer algo más complejo que una simple escala proporcional, entonces el zoom no será adecuado, pero para un caso simple como el de tu pregunta, será perfecto.

http://msdn.microsoft.com/en-us/library/ms533014(v=vs.85).aspx

sin embargo, los filtros en IE no son fáciles de usar y no siempre se combinan con otros efectos css ….

pero IE 9 admite la escala https://developer.mozilla.org/es/CSS/transform