jquery UIのダイアログウィジェットを使用して、Webアプリケーションでモーダルダイアログをレンダリングしています。これを行うには、目的のDOM要素のIDを次の関数に渡します。
var setupDialog = function (eltId) {
$("#" + eltId).dialog({
autoOpen: false,
width: 610,
minWidth: 610,
height: 450,
minHeight: 200,
modal: true,
resizable: false,
draggable: false,
});
};
Firefox、Safari、Chromeではすべて問題なく動作します。ただし、IE 8では、ダイアログを開くと、div.ui-dialog-titlebar
が表示されるだけで、表示div.ui-dialog-contents
されません。
問題は、最近のブラウザではdiv.ui-dialog-contents
、スタイルに特定の高さが設定されていることです。つまり、ダイアログを開いた後、結果のHTMLは次のようになります。
<div class="ui-dialog-content ui-widget-content" id="invite-friends-dialog"
style="width: auto; min-height: 198px; height: 448px">...</div>
IE8では、height
style属性がゼロに設定され、結果のHTMLは次のようになります。
<div class="ui-dialog-content ui-widget-content" id="invite-friends-dialog"
style="min-height: 0px; width: auto; height: 0px">...</div>
height
(およびmin-height
)スタイル属性を正しく設定するには、何をする必要がありますか?