有没有办法可以设置视口的最小宽度?视口应该在这个宽度之外像往常一样工作。我在项目中使用 GXT 2.2.5 和 GWT 2.4。
提前谢谢。
像往常一样:设置类似
body {
min-width: 1000px;
}
在您的 CSS 文件中。
如果您使用的是 RootLayoutPanel 或其他绝对定位的东西,则在该容器上设置最小宽度,例如
// Java:
RootLayoutPanel.get().addStyleName("requires-min-width");
// CSS:
.requires-min-width {
min-width: 1000px;
}
直接取自 GXT 2.2.5 源代码的类级别 javadoc 的第一句;
一个 LayoutContainer 填充浏览器窗口并监视窗口大小调整。
因此,您不必设置最小宽度。它将填满浏览器窗口。然后,如果浏览器窗口调整大小,它应该随之调整大小。
我自己也遇到了这个。GWT 2.8 和 GXT 4.0.1
扩展 Viewport 类并覆盖 onWindowResize 和 doLayout 方法如下
Viewport viewport = new Viewport() {
@Override
protected void onWindowResize(int width, int height) {
int minWidthChecked = Math.max(width, MIN_WIDTH);
int minHeightChecked = Math.max(height, MIN_HEIGHT);
super.onWindowResize(minWidthChecked, minHeightChecked);
}
@Override
protected void doLayout() {
Size size = getContainerTarget().getStyleSize();
size.setWidth(Math.max(size.getWidth(), MIN_WIDTH));
size.setHeight(Math.max(size.getHeight(), MIN_HEIGHT));
getContainerTarget().setSize(size);
super.doLayout();
}
};
这样,实现 RequiresResize 的所有视口子项都将获得正确的宽度和高度。如果页面小于分钟,则需要覆盖 doLayout 以更正初始加载时的大小。
最后确保应用了以下样式
html {
overflow: auto !Important;
}
body {
min-width: 1024px;
min-height: 800px;
}
出于某种原因,我认为 GWT 将溢出隐藏添加到 html 中。另一个好主意是使用 GSS 的 @eval 构造来引用 MIN_WIDTH 和 MIN_HEIGHT 的值,就像它在一个地方定义的那样。