2011-07-01 21 views
11

Estoy usando una combinación de reglas para lograr la regla CSS3 transition en la forma más compatible posible entre navegadores compatibles: Estoy usando transition, -webkit-transition, -moz-transition y -o-transition.¿Imita la transición de CSS3 en IE?

¿Hay una propiedad similar -ms-transition para cualquier versión de Internet Explorer? ¿Existe un filtro de propiedad para versiones anteriores de IE, similar a cómo funcionan las siguientes reglas para la opacidad en IE 6-8?

/* IE 8 */ 
-ms-filter: "progid:DXImageTransform.Microsoft. Alpha(Opacity=50)"; 
/* IE 5-7 */ 
filter: alpha(opacity=50); 
+7

Respuesta corta, no. Deberá usar javascript de alguna forma para lograr el mismo efecto en IE9. Según tengo entendido, IE10 tendrá transiciones CSS3. – kinakuta

Respuesta

12

No hay ningún tipo de efecto de transición en versiones anteriores de IE.

La única forma que conozco de obtener algo similar es usar los métodos fadeIn() y fadeOut() de JQuery, que realmente funcionan en todas las versiones de IE.

Sin embargo, debo advertir que aún fallan las notorias deficiencias en el manejo de la opacidad de IE. Los efectos de desvanecimiento de JQuery pueden tener algunas fallas técnicas extrañas cuando se usan con IE6-8, especialmente si está desvaneciéndose un bloque que contiene gráficos.

Si decides probarlo, el código es muy simple. Simplemente incluya JQuery en sus encabezados, y luego:

$('#myelement').fadeIn(); 

en el lugar apropiado.

Consulte el JQuery FadeIn manual page para obtener más información.

Por supuesto, esto sería en lugar de cualquier efecto de transición de CSS; todo se hace a través de Javascript, y es probable que necesites descartar las transiciones de CSS3, o chocará con los efectos de JQuery. Pero si quieres que funcione con IE, ese es el precio que pagarás.

Y como digo, ten cuidado con los fallos. Pruébalo y mira cómo te parece.

Es la única manera de hacerlo, por lo que si realmente necesita un efecto de transición en IE, eso es lo que tendrá que hacer, pero esté preparado para aceptar que puede no verse tan bien.

Otras bibliotecas de Javascript como Mootools o Dojo pueden tener efectos similares que también podrías probar, pero me imagino que si lo tienen, tendrían los mismos problemas.

+3

Gracias por esto. Creo que me quedaré con las transiciones CSS3 como una herramienta de mejora progresiva, no son cruciales para el sitio. – daysrunaway

3

IE10 tendrá transiciones CSS3, hasta entonces tendrá que usar javascript.

0

La regla de transición CSS3 y otras reglas de CSS3 funcionan bien en IE 10. El prefijo "-ms-" ya no es necesario, pero seguirá siendo reconocido. Para garantizar la compatibilidad en el futuro, las aplicaciones que usan el prefijo de proveedor de Microsoft con propiedades de transición se deben actualizar en consecuencia. Por lo tanto, actualice su código CSS, agregue línea con regla, sin ningún prefijo.

Cuestiones relacionadas