2009-11-25 16 views
14

He leído un artículo sobre él pero no he obtenido lo que en realidad es. ¿Alguien en SO me puede explicar?¿Qué es haslayout?

¿Está solo relacionado con IE6 solamente?

¿Qué significa zoom:1?

¿layout es un EAG de IE solamente?

Editar:

encontré esta información muy informativo para mí

Debido a que Internet Explorer es tan viejo (ya que fue uno de los primeros navegadores disponibles ), no ha tenía el lujo de comenzar de nuevo como el navegador actual do. Con el paso del tiempo, Microsoft comenzó a adaptar nuevos motores para usar de CSS. Parece correcto ... Sin embargo, CSS cambia la suposición fundamental que el motor de Internet Explorer es basado en - que cualquier elemento significativo es un rectángulo que contiene todo su contenido .

Así que para hacer frente a los nuevos estándares de CSS, Microsoft decidió fijar su motor antigua mediante la implementación de la propiedad hasLayout, en lugar de reconstrucción de IE. Cada elemento en Internet Explorer ahora tiene una propiedad hasLayout . Según el elemento, se establece en verdadero o falso al predeterminado. Si hasLayout se establece en verdadero - , el elemento es un cuadro independiente que es responsable de representarse a sí mismo. Si es falso, entonces el elemento se basa en un elemento padre que tiene hasLayout establecido en verdadero para representarlo. Esto es donde la mayoría de los errores de IE vienen a vida.

fuente: http://bytesizecss.com/blog/post/fix-haslayout-with-one-line-of-css

encontré una discusión más aquí también: http://www.molly.com/2007/03/30/back-to-work-someone-please-clearly-articulate-haslayout/

+4

Por supuesto, la verdad es Microsoft a tope la pata cuando estaban interpretando la especificación y no implementaron el modelo de caja correctamente haciendo la vida de nosotros los desarrolladores web desgraciada para este día. – Rob

+0

http://www.satzansatz.de/cssd/onhavinglayout.html – Rob

+0

Creo que ese es el artículo al que se refirió y que no entendió. –

Respuesta

13

Es un no-estándar propiedad en un elemento HTML que sólo se apoya en IE7 y modo de compatibilidad inferior (IE8 también), que si se activa, hace que el elemento se represente de cierta manera (que puede ser inesperado, aleatorio, puede ser un regalo del cielo o puede ser un infierno).

El ejemplo clásico es el diseño de un elemento para que pueda despejar carrozas.

#wrapper { zoom:1; } 

El elemento ahora contendrá flotadores. Cualquiera de estas propiedades y valores distintos de automático/normal activarán la propiedad de diseño.

* display: inline-block 
* height: (any value except auto) 
* float: (left or right) 
* position: absolute 
* width: (any value except auto) 
* writing-mode: tb-rl 
* zoom: (any value except normal) 

Por favor, tienen una lectura minuciosa @http://reference.sitepoint.com/css/haslayout

+0

¿diseño significa ancho y alto? –

+0

ok, significa que haslayout está relacionado con la versión de Windows de IE6 y 7. entonces, ¿qué ocurre con el modo de compatibilidad de IE8 e IE8? –

+0

pero el zoom: 1 no es una propiedad css válida –