2011-09-08 4 views
1

多くの情報を表示するためにPopupPanelを使いたいGWTアプリケーションがあります。 私は、画面の残りの部分(いくつかのパディング)を取り、その内容をスクロール可能にするためにPopupPanelを使いたいと思います。GWT PopupPanelを強制的に使用可能な画面領域を超えないようにし、スクロール可能なコンテンツを持つことができますか?

ポップアップパネルのマテリアルの量が画面上のスペースを超えた場合、ポップアップパネルの内容はスクロールバーなしで大きくなり、代わりにプライマリウィンドウのサイズが大きくなり(スクロールバーで)十分なスペースが得られますポップアップのために。

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

これを達成する最も単純な方法は何ですか?

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

答えて

1

「その他の画面」とはどういう意味ですか?私はあなたが「すべての画面」を意味すると思いますか?

CSSの観点から見てみましょう。外部コンテナCとポップアップパネルPを呼び出します。 Pは、絶対に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;を使用し、top: 0; right: 0; bottom: 0; left: 0を設定します。その後、その新しいコンテナに子としてPopupPanelを追加します。 (または、GWTが許可する場合は、ポップアップパネル自体の固定位置を使用することもできます)

GWT PopupPanelでこれをどのように達成するのが正確かはわかりませんGWTのレイアウトは強くCSSに基づいているので、原則は同じでなければなりません。

関連する問題