Ich hatte das gleiche Problem in IE7 und nahm einen tieferen Einblick in die Symptome und die Lösung. Ich habe festgestellt, dass bei der Erstellung eines Dummy-Dialogs ohne Inhalt die Höhe korrekt gerendert wurde. Daher begann ich mit verschiedenen Arten von Inhalten herumzuspielen, um zu sehen, ob ich den Inhalt anders schreiben könnte, um das Problem zu lösen. Kein Glück. Was ich jedoch entdeckte war, dass je mehr Inhalt ich hinzufügte, desto kürzer wurde der Dialog nur in IE7 (sogar versteckte Elemente verkürzen es ein wenig). Daher werden einfache Inhalte wahrscheinlich keine merklichen Auswirkungen haben (und somit das Fehlen weiterer Beschwerden zu diesem Thema). Die Tabelle und viele Formularelemente, die ich hinzugefügt habe, erzeugen einen sehr auffälligen Effekt.
Einstellung der Höhe auf Auto funktioniert etwas gut, aber IE7 berechnet immer noch die Höhe auf meinem Inhalt um etwa 10 Pixel zu kurz (möglicherweise die Füllhöhe auf ein Objekt) und damit fügt jQuery die Bildlaufleiste hinzu. Nicht perfekt, aber annehmbar angesichts dessen, was folgt.
Nachdem keine andere Problemumgehung gefunden wurde, habe ich mich mit der DOCTYPE-Lösung befasst. Ich entdeckte, dass der DOCTYPE unserer Website - obwohl er korrekt aussieht - alle Browser in den "Quirks-Modus" versetzt und dass dies die wahre Ursache des Problems ist. Ich bezweifle, dass jQuery Quirks-Modus-Probleme unterstützt, so dass ich bezweifle, dass dies jemals behoben wird.
Mein aktueller DOCTYPE:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Was es sein sollte:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
Auch diese ältere DOCTYPE gearbeitet:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/transitional.dtd">
Es ist also nicht so, dass der DOCTYPE der HTML 5-Wert von <!DOCTYPE html>
sein muss, es muss ein gültiger DOCTYPE (HTML 4 oder 5 - nicht sicher über XHTML) sein, der IE7 auf etwas anderes als den quirks mode setzt (Firefox funktioniert in jeder Hinsicht gut). Siehe:
http://en.wikipedia.org/wiki/Quirks_mode#Comparison_of_document_types
Ich habe nicht die Möglichkeit haben, unsere Website DOCTYPE zu ändern, so muss ich eine andere Lösung verwenden, wie Auto-Höhe. Mir ist aufgefallen, dass es bei der Verwendung des jQuery-Dialogs noch andere Unterschiede zwischen den Mappenzuständen und den Standardmodi gibt, so dass ich mich auch mit diesen befassen muss (die Prozentsätze für die Schriftgröße werden sowohl in IE7 als auch in Firefox unterschiedlich angesammelt).
dies beantwortet die Frage nicht. – CodingWithoutComments
Ich musste einige Textfelder in dem div-Tag, das als mein Dialog fungierte, ändern und das Höhenattribut in meinem jquery-Code entfernen. Wenn andere Personen in der Lage waren, ihre Probleme basierend auf meiner eigenen Antwort zu lösen, denke ich, dass sie die Frage beantwortet. –
Ich kann bestätigen, dass die Angabe der Eigenschaft height in dem Objekt, das an das Dialogfeld übergeben wird ({...}), es im IE funktioniert. Ich habe keine Ahnung warum. –