2009-02-26 6 views
5

Por un tiempo, he estado poniendo * html div { zoom: 1; } en mi hoja de estilo base, y me ha funcionado muy bien. Sin embargo, ahora me encuentro con situaciones en las que hay elementos que están en una posición absoluta que están perdiendo sus alturas y anchos en IE 6 cuz de esto. Entonces, estoy pensando en poner * html div { height: 1%; } en su lugar, pero ¿cuáles son los efectos secundarios?Desencadenando haslayout en IE 6, ¿cuál es el efecto secundario de usar * html div {height: 1%; }

Actualización:

Gracias por todas sus respuestas. La respuesta probablemente no tenga efectos secundarios como todos ustedes dijeron.

Sin embargo, tendré que estar en desacuerdo con todas sus recomendaciones (en este momento) sobre cómo/cuándo desencadenar haslayout. Veo que haslayout un comportamiento deseable y por lo tanto debe ser un comportamiento predeterminado en IE6 (& 7).

Se ha mencionado que es poco probable que haya efectos secundarios, por la razón exacta, por qué no hacerlo un comportamiento predeterminado y solo lo apaga cuando ocurre un comportamiento indeseable (si alguna vez ocurre).

Se puede hacer esto especificando {zoom: auto;} o {height:auto;} en ese elemento específico según cómo se haya definido en la hoja de estilo base.

Tendré que dar la respuesta a la primera persona que dijo "no hay efectos secundarios" ya que la respuesta de todos es la misma, mientras que algunos salieron del alcance. ¡Gracias de nuevo!

+0

Siempre he tomado la 'hacerlo bien y luego fijar IE enfoque' de modo de aplicar el truco para todo en realidad nunca se me ocurrió. Sin embargo, podría ser un experimento interesante en mi próximo proyecto. Vea si mata cualquier bicho IE6 fuera de la puerta. ¡Gracias por la idea! –

Respuesta

3

Esto se conoce como The Holly Hack. Por lo que yo sé, no hay un efecto secundario, especialmente si * html es para IE6 directamente. Estoy de acuerdo con los otros carteles de que colocarlo en la etiqueta <div> puede no ser la opción más sabia: apuntaré a los elementos individuales que causan dolor.

1

Intento minimizar el uso de este tipo de soluciones para evitar problemas imprevistos; Solo lo uso en los elementos que lo necesitan cuando IE6 rompe un diseño, nunca en todos los elementos de una página.

0

Una altura del 1% no debería tener ningún efecto porque IE realmente trata las dimensiones como mínimas dimensiones. Sin embargo pos: abs es suficiente para dar haslayout de todos modos y estoy de acuerdo con jeroen en que las afirmaciones generales como esta no son sabias. Esto no es algo que desee en un restablecimiento de CSS, por ejemplo.

1

Tampoco creo que haya ningún efecto secundario. Pero como se mencionó, solo úsela en lo que necesite. Me gustaría personalmente ...

  1. Se usa sólo en una clase de conjunto:

    • html .haslayout {height: 1%; }
  2. colocarlo en una hoja de estilo IE 6 incluido a través de una conditional comment

    <! - [if IE 6] > < enlace href = "ie6.css" rel = "stylesheet" type = "text/css" media = "pantalla, proyección"/> <![Endif] - >

Espero que ayude

Cuestiones relacionadas