0

我在通过 JQuery dailog 显示的两个不同项目中有两个 div:

<div id="popupDiv">
    <% Html.RenderAction("PopupAction", "Popup"); %>
</div>

$("#popupDiv").dialog(
{
    autoOpen: false,
    modal: true,
    width: 465,
    height: 586,
    zIndex: 10001,
    bgiframe: true
});

该代码在两种情况下都是相同的,并且部分视图的内容几乎相同(一个是我正在改进 UI 以节省时间的测试环境,因此我试图使它们尽可能接近),然而,在 FireFox 中,弹出窗口会以两种不同的内联样式呈现:

<div id="popupDiv" class="ui-dialog-content ui-widget-content" style="width: auto; min-height: 0px; height: 475px;">

<div id="popupDiv" class="ui-dialog-content ui-widget-content" style="width: auto; min-height: 0px; height: 570px;">

我当然不会在任何地方设置这些高度,实际上已经在其相应的项目中搜索了这些值,但一无所获。

IE 9 似乎并没有插入所有那种风格的东西,但如果我在一种风格中设置 div 的高度,那么两者中只有一个实际上使用了该高度。

什么会导致 JQuery 对话框像这样指定两个不同的高度?

4

1 回答 1

1

如果内容(以及内容使用的样式表)不是 100% 相同,则可能只是对话框内容的高度不同(如果受边距或填充的影响,这可能不容易在视觉上发现)。使用 Firebug 的“布局”选项卡来检查对话框子项的计算高度。

编辑:对不起,我认为我读得不够仔细。我没有注意到您在对话框选项中设置了高度。我希望 jQuery UI 使用内联高度设置来达到最终所需的高度,一旦你在 CSS 中指定的任何内部填充被考虑在内,但没有看到页面我不能说太多。再一次,Firebug 的 Layout 选项卡似乎是调试它的第一个关键工具。

于 2011-05-20T15:39:46.810 回答