“屏幕的其余部分”是什么意思?我想,你的意思是“全屏”?
让我们从 CSS 的角度来看它。我们将调用外部容器C
和您的 PopupPanel 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 的。