Pregunta

Cada vez que encuentro IE está mostrando mi página web extraña (diferente de Chrome y Firefox), trato de poner un zoom:1 en la clase css para la parte que se está mostrando raro. Una gran parte del tiempo esto soluciona el problema y hace que parezca consistente con los otros navegadores.

¿Es un problema con el uso zoom:1? Sé que mi CSS no validará, pero ¿hay algún problema del mundo real que pueden surgir si confiamos demasiado en el uso de zoom:1?

¿Fue útil?

Solución

El problema que está luchando con esto es el tema hasLayout IE. Aquí es un artículo bueno y visión general sobre las propiedades que también provocan "tener Disposición" en el IE.

No conozco ningún efecto secundario a zoom: 1 excepto que no es válida W3C. Estoy bastante seguro de que estoy usando yo mismo en algunos proyectos.

Sin embargo, no es por supuesto la remota posibilidad de que un día se convierte en zoom propiedad real CSS - o se acostumbra en otro contexto propietario como en el iPad o lo que sea -. Lo que podría llevar a las cosas que se rompen

Una muy limpia solución, el zoom no lo es. Si es posible, es una buena idea para dar al elemento "Diseño" de alguna otra manera como se describe en el artículo.

Otros consejos

Por el contrario, hay desventajas definitivas a usar el zoom: 1, incluso en el IE. Por lo general, sólo se lo incluyo en el IE-sólo hojas de estilo, pero incluso en los últimos días he luchado con algunos problemas de diseño, porque he optado por utilizar * {Zoom: 1;}

- la comida para llevar - lo utilizan de forma limitada. Si sólo se preocupan por IE7 +, puede utilizar min-height: 1%, que tiene el mismo efecto de desencadenar hasLayout

A partir de noviembre de 2012, que es cada vez más probable que algún día convertirse zoom CSS válido, aunque parece que su uso en el contexto anterior no debería tener efectos secundarios negativos.

Ver: http://dev.w3.org/csswg/css-device -adapt / o http://www.w3.org/TR/ css-dispositivo de adaptar /

zoom sólo es compatible con Internet Explorer, por lo que no por el momento. Potencialmente podría ser una futura propiedad llamada de zoom que podría complicar las cosas, pero esto es poco probable debido al uso generalizado.

display: inline-block; hace lo mismo, pero es un código estándar.

raras caso se crea un problema, puede utilizar

display: block !important; /* or inline, etc. */ 
display: inline-block; /* in this order */

para enviar sólo a las versiones antiguas de Internet Explorer para los que es útil.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top