Estaba experimentando el mismo problema en IE7 y analicé más detenidamente los síntomas y la solución. Noté que cuando creé un diálogo ficticio sin contenido, la altura se procesaba correctamente. Por lo tanto, comencé a jugar con varios tipos de contenido para ver si podía escribir el contenido de manera diferente para superar el problema. Sin suerte. Lo que descubrí, sin embargo, fue que cuanto más contenido añadía, más corto era el diálogo en IE7 solamente (incluso los elementos ocultos lo acortaban un poco). Por lo tanto, es probable que el contenido simple no tenga mucho efecto notable (y, por lo tanto, la falta de más quejas sobre este tema). La tabla y muchos elementos de formulario que estaba agregando crean un efecto muy notable.
Establecer la altura en auto funciona bastante bien pero IE7 aún calcula mal la altura de mi contenido en unos 10 píxeles demasiado cortos (posiblemente la altura de relleno en un objeto) y así jQuery agrega la barra de desplazamiento. No es perfecto, pero aceptable dado lo que sigue.
Al no haber encontrado otra solución, comencé a buscar en la solución DOCTYPE. Descubrí que el DOCTYPE de nuestro sitio, aunque parece correcto, pone a todos los navegadores en el "Modo Quirks" y que esta es la verdadera fuente del problema. Dudo que jQuery soporte los problemas del modo peculiar, así que dudo que esto se solucione.
Mi DOCTYPE actual:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
lo que debería ser:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Incluso este DOCTYPE mayor trabajaba:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/transitional.dtd">
Por lo tanto, no es que el DOCTYPE debe ser el valor HTML 5 de <!DOCTYPE html>
, es que debe ser un DOCTYPE válido (HTML 4 o 5 - no estoy seguro acerca de XHTML) que establecerá IE7 en algo distinto al modo peculiar (Firefox funciona bien de cualquier manera). Ver:
http://en.wikipedia.org/wiki/Quirks_mode#Comparison_of_document_types
no tengo la opción de cambiar DOCTYPE de nuestro sitio así que tengo que utilizar otra solución como la altura de automóviles. Observé que existen otras diferencias entre las peculiaridades y los modos estándar cuando utilizo el cuadro de diálogo jQuery, así que también tengo que ocuparme de ellos (es decir, los porcentajes del tamaño de fuente se acumulan de manera diferente tanto en IE7 como en Firefox).
esto no responde la pregunta. – CodingWithoutComments
Tuve que cambiar el tamaño de algunos cuadros de texto en la etiqueta div que actuaba como mi cuadro de diálogo y eliminé el atributo de altura en mi código jquery. Si otras personas pudieron resolver sus problemas basándose en mi propia respuesta, creo que SÍ responde a la pregunta. –
Puedo confirmar que no especificar la propiedad de altura en el objeto pasado al diálogo ({...}) lo hace funcionar en IE. No tengo ni idea de por qué. –