我是GWT的新手,刚开始布局。 我创建了一个登录屏幕(布局:位于页面中央),然后在成功登录后移动到第二页,其中包含doc面板并添加了少量组件。
当我启动它时,它会出现在网页的中心。我希望它覆盖整个页面,具体取决于浏览器/屏幕的大小。
我怎样才能到达那里? 请帮忙。
另外请分享任何使用2,3页导航的小GWT应用程序(带源代码)。
答案 0 :(得分:1)
这对我有用。 (叠加是一个div,我想覆盖屏幕)。
public void coverScreen() {
overlay.setHeight(getHeight() + "px");
overlay.setWidth(Document.get().getBody().getClientWidth() + "px");
}
private static native int getHeight() /*-{
if ($doc.documentElement.clientHeight && $doc.body.clientHeight) {
if ($doc.documentElement.clientHeight > $doc.body.clientHeight) {
return $doc.documentElement.clientHeight;
} else {
return $doc.body.clientHeight;
}
} else if ($doc.body.clientHeight) {
return $doc.body.clientHeight;
} else if ($doc.documentElement.clientHeight) {
return $doc.documentElement.clientHeight;
} else {
return 0;
}
}-*/;
修改强>
我参与了一项功能,以避免覆盖滚动条。
private static native int getScrollbarWidth() /*-{
var body = $doc.body;
body.style.overflow = 'hidden';
var width = body.clientWidth;
body.style.overflow = 'scroll';
width -= body.clientWidth;
if (!width)
width = body.offsetWidth - body.clientWidth;
body.style.overflow = '';
return width;
}-*/;
setWidth调用变为。
overlay.setWidth(Document.get().getBody().getClientWidth() - getScrollbarWidth() + "px");
div CSS如下
position: fixed;
top: 0px;
left: 0px;
width: 100%;
height: 100%;
z-index: 6790;
margin: 0px !important;
background-color: rgb(0, 0, 0);
opacity: 0.8;