Диалоги jquery в режиме причуд не устанавливают высоту правильно

Я пишу виджет на основе jquery, который будет идти на сайте другой компании. Когда я пытаюсь установить высоту диалогового окна с помощью $('#dialog'). Height(450), он устанавливает намного более короткое диалоговое окно. Я могу получить высоту около 450 пикселей, используя 300 (я знаю, нет смысла). Я определил, что ошибка происходит в IE8 в режиме причуд. Да, я знаю, что jquery не поддерживает режим причуд. Я не могу изменить тип документа, так как это не мой сайт.

Хотя то, что я сделал, мне нужно понять, почему. Есть ли исчерпывающее руководство о том, как jquery работает в режиме причуд?

3 ответа

Вы применили отступы к диалогу?

Блочная модель отображается по-разному, если вы используете режим причуд.

См. http://www.quirksmode.org/css/box.html

Вы должны стараться избегать режима причуд, если это возможно. Однако, если это не вариант, я добился успеха в этом: (Я предполагаю, что вы используете jQueryUI)

$(".ui-dialog-content").css("height", "450px");

Что изменяет размер внешнего CSS диалога jQueryUI.

Попробуйте добавить правило этого стиля и настроить высоту в соответствии с вашими требованиями:

.ui-dialog { height:700px !important; }

Откройте диалог с

dialog.dialog("open");

и установите высоту диалогового окна в автоматический режим для настройки внутреннего содержимого:

dialog.css("height", "auto");
Другие вопросы по тегам