2011-08-01 12 views

Respuesta

52

Microsoft introdujo -ms-filter para hacer que Internet Explorer sea más compatible con los estándares (CSS 2.1 requiere que las extensiones de los proveedores tengan el prefijo del proveedor). Como la sintaxis de la propiedad original filter no es compatible con CSS 2.1, IE8 + requiere que el valor de la propiedad -ms-filter se incluya entre comillas.

filter: alpha(opacity=40); 
-ms-filter: "alpha(opacity=40)"; 

-ms-filter se apoya en IE8 +, legado filter propiedad es, por lo que yo sé, para la compatibilidad hacia atrás apoyada en todas las versiones de Internet Explorer.

Enlace relacionado: http://blogs.msdn.com/b/ie/archive/2008/09/08/microsoft-css-vendor-extensions.aspx

Tenga en cuenta que el soporte para filtros puede extirparse de IE10.

+0

¡Gran explicación! ¡Gracias! –

+0

Estoy usando IE8 y el filtro funciona pero -ms-filter no. ¿Algunas ideas? – xr280xr

+0

@ xr280xr Asegúrese de que el navegador utiliza el modo de estándares IE8 para representar la página web. – duri

-1

Creo que -ms es el prefijo del proveedor para algunas de las nuevas propiedades de CSS3, mientras que filter es una propiedad anterior para IE 6-8 (podría estar mal en IE 6, pero estoy seguro de que se usa en IE 8) . Aquí hay más información sobre dónde se usa -ms: http://msdn.microsoft.com/en-us/library/ms531207(VS.85).aspx.

+0

Si no recuerdo mal, todos ellos apoyará 'filter, pero sólo puede haber IE 9 que soporta' -ms-filter. –

+0

No. No existe tal propiedad de CSS3 llamada filtro. – Rob

+0

Todos los navegadores modernos ignoran la propiedad de filtro ya que no es estándar y no es una propiedad de CSS3. Ejecútelo a través del validador y se marcará como un error. – Rob

1

-ms-filtro de propiedades

Establece o el filtro o conjunto de filtros que se aplican al objeto. Nota A partir de Windows Internet Explorer 9, esta característica quedó en desuso. A partir de Internet Explorer 10 esta característica se eliminó y ya no se debe usar.

-ms-filter property

Cuestiones relacionadas