0

JQuery dailog を介して表示される 2 つの異なるプロジェクトに 2 つの div があります。

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

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

そのコードは両方の場合で同一であり、部分ビューの内容はほぼ同一です (1 つは、時間を節約するために UI を改良しているテスト環境であるため、可能な限り近づけようとしました)。ただし、ポップアップは FireFox で 2 つの異なるインライン スタイルでレンダリングされます。

<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 の高さを設定すると、実際にその高さを使用するのは 2 つのうちの 1 つだけです。

JQuery ダイアログがそのような 2 つの異なる高さを指定する原因は何でしょうか?

4

1 に答える 1

1

コンテンツ (およびコンテンツが使用しているスタイルシート) が 100% 同一でない場合は、おそらくダイアログのコンテンツの高さが異なるだけです (マージンやパディングの影響を受けている場合、これを視覚的に見つけるのは容易ではない可能性があります)。Firebug の [レイアウト] タブを使用して、ダイアログの子の計算された高さを調べます。

編集:申し訳ありませんが、これを十分に注意深く読んでいないと思います。ダイアログ オプションで高さを設定していることに気付きませんでした。CSSで指定した内側のパディングが考慮されると、jQuery UIはインラインの高さ設定を使用して最終的な目的の高さに到達すると思いますが、ページを見ないと他に多くは言えません. 繰り返しになりますが、Firebug の [レイアウト] タブは、これをデバッグするための最初の重要なツールのようです。

于 2011-05-20T15:39:46.810 に答える