1

PopupPanelを使用して多くの情報を表示したいGWTアプリケーションがあります。PopupPanelに画面の残りの部分(およびいくつかのパディング)を表示し、その内容をスクロール可能にしたいと思います。

ポップアップパネルのマテリアルの量が画面上のスペースを超えると、ポップアップパネルのコンテンツはスクロールバーなしで範囲を超えて大きくなり、代わりにプライマリウィンドウのサイズが(スクロールバーを使用して)大きくなり、ポップアップに十分なスペースが提供されます。

私の理解では、PopupPanelのサイズはその内容によって異なります。

それでは、これを達成するための最も簡単な方法は何ですか?

PopupPanel内にスクロールパネルを配置し、ポップアップが表示されたときに使用可能なスペースにサイズを設定することを考えましたが、それはハックのようです。

4

1 に答える 1

1

「残りの画面」とはどういう意味ですか? 「すべての画面」という意味ですか?

CSS の観点から見てみましょう。外側のコンテナCと PopupPanelを呼び出しますPP内に絶対に配置されますC

のような絶対配置要素を使用する場合、P私が通常行う方法は、のようなものを設定することですtop: 1em; right: 1em; bottom: 1em; left: 1em。したがって、 のすべてのスペースを占有しCますが、1em のマージンを残します (その後、パディングを追加することもできます)。または、 を使用することもできますtop: 0; left: 0; width: 100%; height: 100%; margin: 1em;

次に をoverflow: auto;オンPにすると、スクロールします。

唯一の問題は次のとおりです。外側のコンテナの高さが固定されていない場合 (たとえば、垂直方向にスクロールする HTML ドキュメントがある場合) はどうなるでしょうか。答えは: いつでもヘルパー コンテナーを作成できます:position: fixed;と setを使用しtop: 0; right: 0; bottom: 0; left: 0ます。次に、PopupPanel を子としてその新しいコンテナーに追加します。(または、GWT が許可する場合は、ポップアップ パネル自体に固定位置を使用することもできます。)

GWT の PopupPanel を使用してこれを実現する最善の方法を正確に言うことはできませんが、GWT のレイアウトは CSS に強く基づいているため、原則は同じである必要があります。

于 2011-09-09T10:17:19.283 に答える